2015-04-21 3 views
0

У меня проблема с preg_replace. Как оставить эти символы: . , ? ! ' " : ; и удалить другие? Эта функция используется с литовскими буквами и цифрами. Я пробовал этот код:Как использовать preg_replace со специальными символами

preg_replace('/[^\p{L}\p{N}\s !?,;:.-]/u', '', $value); 
+0

избежать их ?! В чем проблема? – Rizier123

+0

символ возврата для каждого из предметов - '\' – Burrito

ответ

2

Вы должны избегать тех символов, которые имеют особое значение в регулярном выражении в этом случае.

preg_replace ('/[^\.,?!\'":;\-]/', '' ,$value); 

preg_quote также могут быть использованы:

$toKeep = preg_quote ('.,?!\'":;', '/'); 
preg_replace ('/[^' . $toKeep . ']/', '', $value); 
+0

спасибо. он полностью работает. – djjmz

Смежные вопросы