newuser
Guest
Проблема с preg_raplace и модификатором /e
Вот есть у меня нечто вроде этого: preg_replace('/***/e', 'some_func(\'$1\')', $str);
Вроде бы все нормально работает, но. Дело в том, что сначала php как я понял подставляет $1, а потом парсит код. А если в этом $1 содержится, например, одинарная кавычка, то тогда что?! Ведь у меня нет никакой возможности контролировать это (кроме разве что каких-либо извращенных конструкций, где вместо первого preg_replace'а будет стоять preg_replace_callback, проверяющий $i-ую на предмет нежелательности и отдающий преобразованную (если нужно) $i-ку в preg_replace с модификатором /e, но это же не дело!). А есть ли способ контролировать ситуацию, не допуская попадание "плохих" символов в строку замены? Или php настолько заботится о нас, что даже может быть уже подумал об этом за нас?
Вот есть у меня нечто вроде этого: preg_replace('/***/e', 'some_func(\'$1\')', $str);
Вроде бы все нормально работает, но. Дело в том, что сначала php как я понял подставляет $1, а потом парсит код. А если в этом $1 содержится, например, одинарная кавычка, то тогда что?! Ведь у меня нет никакой возможности контролировать это (кроме разве что каких-либо извращенных конструкций, где вместо первого preg_replace'а будет стоять preg_replace_callback, проверяющий $i-ую на предмет нежелательности и отдающий преобразованную (если нужно) $i-ку в preg_replace с модификатором /e, но это же не дело!). А есть ли способ контролировать ситуацию, не допуская попадание "плохих" символов в строку замены? Или php настолько заботится о нас, что даже может быть уже подумал об этом за нас?
