Удаление ненужных символов из строки.

Написана 17 Января, 2012 в 20:33. Автор: borN_free   |   Теги: utf-8, ASCII, regexp Комментарии 1

Разберем, как избавиться от ненужных символов в строке. Heading/RegExp Часто бывают ситуации, когда необходимо распарсить некоторый контент, и полученные куски текста сложить в базу данных. При этом источники могу быть абсолютно разными - сторонний сайт, xml/excel документ или нечто другое. При этом часто с такими данными приходят ненужные нам символы, например: äó. Более детально вы можете познакомиться с символами на этом сайте, где можно их копировать.

Давайте же посмотри, как можно оставить в строке только то, что нам нужно.

Вырезать символы из строки будем с помощью регулярных выражений и функции preg_replace()

// строка с ненужными нам символами
$input = 'Строка äóäó \n содержит äóäó мусор';
// оставляем только символы из интервала \x20-\x7F
$output = preg_replace('/[^(\x20-\x7F)]\*/','', $input);
echo $output;

Данный способ очень хорош, но есть недостаток. Так мы вырежем символ "\n", а это конечно плохо. Решается это очень просто, добавим символ в регулярное выражение, и он не будет удаляться:

$output = preg_replace('/[^(\x20-\x7F)\x0A]*/','', $input);

Вот таким нехитрым способом все у нас хорошо получается.

PS используйте всегда в своих разработках кодировку UTF-8, тем более что современные IDE поддерживают это на уровне проекта.

One comment

ответить
January 17, 2017 at 05:27 am

Может проще использовать функцию trim() .

Оставьте свой комментарий:

Поля с * обязательны.