Здравствуйте. Никак немгоу понять почему preg_replace экранирует символы, а preg_match нет. Вот пример:
PHP код:
![Выделить весь код](images/misc/selectcode.png)
$string="O' yes";
preg_match("/^(.*)$/i",$string,$array);
print_r($array);
, выведет
Код:
![Выделить весь код](images/misc/selectcode.png)
Array ( [0] => O' yes [1] => O' yes )
,но если написать
PHP код:
![Выделить весь код](images/misc/selectcode.png)
$string="O' yes";
preg_replace("/^(.*)$/ei","\$array=\"$1\"",$string);
print_r($array);
, выведет
Код:
![Выделить весь код](images/misc/selectcode.png)
O\' yes
Я могу конечно использовать preg_match, но мне в качестве входящих паттернов, и строк массивы, так что кроме preg_replace, больше ничего не подходит. Экранирование в php.ini отключено, все три директивы (
magic_quotes_qpc,magic_quotes_runtime,magic_quotes_sybase) выключены. Помогите пожалуйста.