Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Общие вопросы по коду
Показать сообщение отдельно

Пользователь


Сообщения: 124
Благодарности: 3

Профиль | Отправить PM | Цитировать


Здравствуйте. Никак немгоу понять почему preg_replace экранирует символы, а preg_match нет. Вот пример:
PHP код: Выделить весь код

$string="O' yes";

preg_match("/^(.*)$/i",$string,$array); 
print_r($array); 

, выведет
Код: Выделить весь код
Array ( [0] => O' yes [1] => O' yes )
,но если написать
PHP код: Выделить весь код

$string="O' yes";

preg_replace("/^(.*)$/ei","\$array=\"$1\"",$string);
print_r($array); 

, выведет
Код: Выделить весь код
O\' yes
Я могу конечно использовать preg_match, но мне в качестве входящих паттернов, и строк массивы, так что кроме preg_replace, больше ничего не подходит. Экранирование в php.ini отключено, все три директивы (
magic_quotes_qpc,magic_quotes_runtime,magic_quotes_sybase) выключены. Помогите пожалуйста.

Отправлено: 15:20, 05-05-2010 | #272

Название темы: Общие вопросы по коду