2016-12-16 8 views
0

Я хочу использовать preg_replace очистить строку, но я хочу Contine с этим персонажем() - Скобкиpreg_replace с() символами

Я использую этот код

$string = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $string); 
$string = preg_replace('/[^\p{Latin}\d ]/u', '', $string); 

Я хочу, чтобы удалить все, кроме круглых скобок букв и цифр

+0

Что вы имеете в виду, вы хотите продолжить со скобками? – SuperDuperApps

+0

Да, я хочу удалить все, кроме круглых скобок. –

+0

Используйте '/ [^ characters] /' для соответствия всем, кроме указанных символов. – Barmar

ответ

2

Если я вас правильно понимаю, используйте:

/[^\p{Latin}0-9()]/u 

Это будет соответствовать всем, что не является скобками, буквами или цифрами.

Так полный код:

$string = preg_replace('/[^\p{Latin}0-9()]/u', '', $string); 
+1

Когда вы используете символ символа Юникода, например '\ p {Latin}' или многобайтовые литералы, старайтесь использовать в то же время модификатор u, иначе ваш класс символов будет рассматриваться как набор одиночных байтов, а не набор потенциально многобайтовые символы и могут вызывать нежелательное поведение. –

+0

Спасибо, это приятно знать. Я обновил ответ. – SuperDuperApps