limpar a string usando a lista de permissões regex php
Eu quero higienizar uma$string
usando a próxima lista branca:
Inclui a-z, A-Z, 0-9 e alguns caracteres comuns incluídos nas postagens[]=+-¿?¡!<>$%^&*'"()/#@*,.:;_|
.
Bem sotaques espanhóis comoá,é,í,ó,ú
eÁÉÍÓÚ
LISTA BRANCA
abcdefghijklmnñopqrstuvwxyzñáéíóúABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ0123456789[]=+-¿?¡!<>$%^&*'"()/#@*,.:;_|
Eu quero higienizar essa string
$string="//abcdefghijklmnñopqrstuvwxyzñáéíóúABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ0123456789[]=+-¿?¡!<>$%^&*'()/#@*,.:;_| |||||||||| ] ¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶¸¹º»¼½ mmmmm onload onclick='' [ ? / < ~ # ` ! @ $ % ^ & * ( ) + = } | : ; ' , > { space !#$%&'()*+,-./:;<=>?@[\]^_`{|}~ <html>sdsd</html> ** *`` `` ´´ {} {}[] ````... ;;,,´'¡'!!!!¿?ña ñaña ÑA á é´´ è ´ 8i ó ú à à` à è`ì`ò ù & > < ksks < wksdsd '' \" \' <script>alert('hi')</script>";
Eu tentei esse regex, mas ele não funciona
//$regex = '/[^\w\[\]\=\+\-\¿\?\¡\!\<\>\$\%\^\&\*\'\"\(\)\/\#\@\*\,\.\/\:\;\_\|]/i';
//preg_replace($regex, '', $string);
Alguém tem uma idéia de como higienizar essa cadeia de acordo com os valores da lista de permissões?