[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Пробую разоьраться с preg_replace
nugle
вот хочу выделять переменные типа $var, есть текст

abs($var);

Как заменить слово которое начинается с $? пробую как то так

$pattern = '/\$/';
$replace = '<span class="replaceVar">'.$pattern.'</span>';
$text = preg_replace($pattern, $replace, $text);

Ну че то дальше не сооброжу как!нужна ваша помощь!



Спустя 23 минуты, 51 секунда (20.04.2011 - 13:52) alex12060 написал(а):
\\1 \\2 \\n

Спустя 23 минуты, 38 секунд (20.04.2011 - 14:16) nugle написал(а):
alex12060
можно чуть поподробней?

Спустя 4 минуты, 59 секунд (20.04.2011 - 14:21) alex12060 написал(а):
Я придумать регулярку под твой скрипт не смогг, но эти штуки, обозначаются как в массиве при preg_match()
т.е

Тебе надо вырезать все, что после доллара:


$pattern = " #\$(.*)#i ";


Получается, что все, что попадает в действие, идет как нумерованный массив:

В \\0 попадает исходное значение: $var
В \\1 попадает то, что порезали: var
Большего не дано.

В общем, чтобы заменить, то, что вырезали, нужно использовать те штуки и вставлять в $replace


$replace = '<b>\\1</b>';

Спустя 9 минут, 51 секунда (20.04.2011 - 14:31) Invis1ble написал(а):
nugle
$pattern = '/\$[\pN\pL_-]+/su';
$replace = '<span class="replaceVar">$0</span>';
$text = preg_replace($pattern, $replace, $text);

Подправил, была ошибка

Спустя 28 минут, 12 секунд (20.04.2011 - 14:59) alex12060 написал(а):
Да, можно еще и доллары использовать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.