Регулярное выражение

RevivaL

Новичок
Доброе время суток, у меня такая проблема, выражение не воспринимает дефис.
PHP:
$code_copy = preg_replace('#\\$list_categories_sub=(.+?)\\$#ies', '\\1', $code_copy);
выражение должно работать с следующим куском кода:
<li class="categories-item $list_categories_sub=categories-parent$">
 

С.

Продвинутый новичок
То есть ты утверждаешь, что без дефиса это работает?
 

RevivaL

Новичок
А с какой целью модификтор "е"?
e (PREG_REPLACE_EVAL)
Если используется данный модификатор, preg_replace() после выполнения стандартных подстановок в заменяемой строке интерпретирует ее как PHP-код и использует результат для замены искомой строки. Одинарные и двойные кавычки, обратные слэши (\) NULL-символы будут проэкранированы обратными слэшами в подставляемых обратных ссылках.
 

RevivaL

Новичок
отклоняемся от темы, этот код вырван из сценария, несколько преображен и показан здесь в качестве примера, чтоб видно было сразу что к чему.

полный пример:
PHP:
$code_copy = preg_replace('#\\$list_categories_sub=(.+?)\\$#ies', "\$this->tpl_coll('\\1')", $code_copy);
 
Сверху