2014-12-14 4 views
0

Я пробовал это, но не могу удалить этот тип символов (Ã ¢ Â € Â|ÃÃ ¢ Â € Â |) из моей строки:Удалите только эти типы символов, используя php preg_replace

$string= preg_replace('/[^a-zA-Z [\n\r] ]/', '', $string); 
$string= preg_replace('/\t\s\s+/', '', $string); 
$string= preg_replace("/[\n\r]/","=",$string); 

он показывает мне мое желаемое, но я также хочу, чтобы удалить специальные символы, как: ¢ Â € Â|Ã ¢ Â € Â|

+1

Похоже, вы интерпретируете текст UTF-8 как ANSI. Я думаю, вы должны попробовать 'iconv', чтобы преобразовать текст в нужную кодовую страницу. – GolezTrol

+0

Я пробовал эту иконку ('UTF-8', 'ASCII // TRANSLIT', $ string), но все еще не могу удалить, можете ли вы показать мне, как делать с iconv? – M3Dev

+0

Я не вижу, где вы удаляете эти символы. [a-zA-Z] не распространяется на них. Подумайте об обратном. Какие символы вы хотите сохранить? и вместо этого используйте preg_match. Это оставит вас только с тем, что вам нужно. – lepe

ответ

0

Это похоже на работу в онлайн-тесте

$string= preg_replace('/[^a-zA-Z\n\r]/', '', $string); 
+0

Почему вы ставите трубы '|' в класс символов? – Toto

+0

@ M42 Осталось проверить другие варианты. Код скорректирован. – RST

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