PHP str replace регулярные выражения – что когда применять?

PHP str replace регулярные выражения – что когда применять?

От автора: регулярки! Раньше без них и так неплохо жилось! Не верите? Вот, например, PHP str replace регулярные выражения легко сделает! И я это сегодня докажу!

Строковые функции языка

В PHP существует множество функций для работы со строками, и многие из них могут стать полноценной заменой регулярным выражениям. Особенно, если нужно найти одно или два слова.

Сегодня мы вспомним о функции str_replace(). Она как раз занимается поиском и заменой. А если принять во внимание тот факт, что регулярным выражением можно считать не только шаблон с последовательностями и метасимволами, но и любое слово для поиска, то авторитет этой функции возрастет еще сильнее. Вот пример использования PHP str replace():

 
<?php
$m = "Hello, hell,hellios!";
echo $m."<br />";
$stroka = str_replace("hell","men", $m);
echo $stroka;
?>

PHP str replace регулярные выражения – что когда применять?

Но эта функция не предназначена для работы с настоящими шаблонами. Вот str replace PHP пример, доказывающий это:

Фреймворк YII2. Быстрая разработка с современным PHP фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Узнать подробнее
<?php
$m = "Hello, hell,hellios!";
echo $m."<br />";
$stroka = str_replace("[a-z,0-9]","men", $m);
echo $stroka;
?>

PHP str replace регулярные выражения – что когда применять?

То есть функция возвращает строку без изменений. То же самое просматривается на примере использования PHP str replace с utf 8:

<?php
$m = "Ветеринария лечит человечество, а медицина только человека!";
echo $m."<br />";
$stroka = str_replace("[a-z,0-9]","men", $m);
echo $stroka;
?>

PHP str replace регулярные выражения – что когда применять?

Хотя вот так работает без проблем:

PHP str replace регулярные выражения – что когда применять?

Кроме этого PHP str replace «понимает» array. С ее помощью можно найти и заменить массив символов. Например:

<?php
$m = "Сколько стоит ваша шляпа, сэр? Много или нет?";
echo $m."<br />";
$array=array(",","?","сэр");
$stroka = str_replace($array," <b>замена</b>",$m);
echo $stroka;
?>

PHP str replace регулярные выражения – что когда применять?

Другие варианты реализации

Функцию PHP str replace использовать без учета регистра не получится. Вместо этого нужно применять другой метод — str_ireplace(). Пример:

PHP str replace регулярные выражения – что когда применять?

Здесь «сэра» не удалось заменить. Но вот так получится:

<?php
$m = "Сколько стоит ваша шляпа, Men? Много или нет?";
echo $m."<br />";
$array=array(",","?","men");
$stroka = str_ireplace($array," <b>замена</b>",$m);
echo $stroka;
?>

PHP str replace регулярные выражения – что когда применять?

Кроме этого существует еще одна версия данной функции для работы с многобайтными строками в PHP – mb strreplace. Но в такие дебри мы лазить не будем :) .

Сегодня мы познакомились с одной из альтернатив регулярных выражений, которая работает быстрее и проще. А если PHP str replace не работает, то, скорее всего, все дело в неверной кодировке. В общем, копайте в данном направлении!

Фреймворк YII2. Быстрая разработка с современным PHP фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Узнать подробнее
Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Хотите изучить регулярные выражения на PHP?

Прямо сейчас посмотрите 12-ти часовой курс по регулярным выражениям на PHP!

Смотреть курс

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree