[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: preg_replace с модификатором e
trusiwko
Всем привет. Столкнулся с такой штукой, но не нашел определения того, почему так происходит:

$s = '"asd"';
$s = preg_replace('/(.*)/ise', '"$1"', $s);
die($s);

возвращает все верно: "asd", но

$s = '"asd"';
$s = preg_replace('/(.*)/ise', "'$1'", $s);
die($s);

возвращает уже \"asd\"
То есть необходимо использовать stripslashes, но обязательность его использования я не встречал. Кто знает в чем дело?



Спустя 22 минуты, 54 секунды (22.07.2010 - 10:05) twin написал(а):
Вообще то для этих целей используется preg_quote()
Может поэтому не встречал? smile.gif

Спустя 2 дня, 6 часов, 2 минуты, 9 секунд (24.07.2010 - 16:07) trusiwko написал(а):
Вообще-то вопрос заключается не в том, что использовать, а в том почему так происходит. И вообще preg_quote тут абсолютно не походит. Мне не надо экранировать кавычки и прочее. Глухой нуб под твоей аватарой позволяет снисходительнее относиться к твоему посту, но в это ветке он просто недопустим.

preg_replace('/(.*)/ise', "'$1'", $s); здесь модификатор e мне нужен для того, чтобы вместо "'$1'" написать что-то вроде "htmlspecialchars('$1')"
жду пример этого кода с preg_quote.

Это то, что мне нужно: preg_replace('/(.*)/ise', "htmlspecialchars('$1')", $s);

Хотелось бы услышать нормальны ответ на первый пост, а не изречения нубов.

Спустя 17 минут, 47 секунд (24.07.2010 - 16:24) twin написал(а):
Если бы тон был бы не столь язвителен, я бы написал полный код.
А раз от глухого нуба принять его впадлу, дам наводку. Снисходительную улыбочку в кулачек и ножками, ножками в мануал. И потом учиться задавать вопросы корректно.
Волшебные слова для поиска в мануале:
preg_replace_callback()
create_function()

ну и попробуй обойтись без
preg_quote()

Потом похвастаешься, научишь бедного нуба уму разуму.

Спустя 18 минут, 10 секунд (24.07.2010 - 16:43) twin написал(а):
Ладно, я добрый седня.
$s = preg_replace_callback("/(.*)/is", 
create_function('$str', 'return htmlspecialchars($str[0]);'),
$s);
Быстрый ответ:

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