Здравствуйте. Пробую применить preg_replace: Код (Text): $my1="аб"; echo "my1 before = $my1"."<br/>"; $my2="аю"; $my3="б"; preg_replace($my3, $my2, $my1); echo "my1 = $my1"."<br/>"; Не происходит подмены в $my1. Почему?
Re: Не работает preg_match Код (Text): $my1="аб"; echo "my1 before = $my1"."<br/>"; $my2="аю"; $my3="/б/"; preg_replace($my3, $my2, $my1); echo "my1 = $my1"."<br/>";
Во-первых, верно Saturn написал, нужны косые. Во-вторых, рег. выражение возвращает результат, а не меняет прямо в строке. Код (PHP): $my3="/б/";//паттерн $my1=preg_replace($my3, $my2, $my1); Вместо косых можно и другие символы использовать для определения рег. выражения, например Код (PHP): $my3="'б'"; $my3="#б#"; $my3="|б|";
в описании написано "mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) Выполняет поиск совпадений в строке subject с шаблоном pattern и заменяет их на replacement." Как же тогда поступать в следующий раз, с другой функцией - проверять возвращает ли значение или в хелпе на это есть намек? думал это процедура Добавлено спустя 2 минуты 27 секунд: не знаком с регвыражениями. Какие больше используются - PCRE?
borus, функция preg_replace возвращает mixed. Это может быть строка или массив с измененными строками, смотря что давали в параметре subject. Добавлено спустя 1 минуту 18 секунд: http://www.php.ru/manual/function.preg-replace.html