2015-12-28 3 views
1

Я хочу удалить строку из всех символов, за исключением: буквенно-цифровых символов, пробелов и букв с акцентом.php preg_replace все, кроме буквенно-цифровых, пробелов и акцентированных букв

Я получил его на работу на все для акцентированных букв, кроме:

$fname = preg_replace("/[^\w\space/", "", $fname); 

Что мне нужно изменить, чтобы позволить акцентированные буквы в выводе?

ответ

2

Когда я изо всех сил, чтобы все работало, я нашел ответ сам, так что я решил поделиться с вами:

$fname = preg_replace("/[^\w\space\pL]/", "", $fname); 

Часть «рь» соответствует любому в буквенной категории Unicode, поэтому акцентированная в выходной строке разрешены буквы.

0

Пожалуйста, используйте этот один:

$fname = preg_replace("/[^ \w]+/", "", $fname); 
+0

Почему я использую этот нерабочий ответ? –

+0

Просьба дать некоторое объяснение, почему этот код лучше и как он работает, чтобы дать больше контекста для вас. – stuyam