Заменить текстовую обратную косую черту и одинарные кавычки

get_magic_quotes_gpc() является 0,

Если я использую preg_replace() с этими массивами:

$replace[0]=">";
$replace[1]="<";
$replace[2]="&";
$replace[3]='"';

$pattern[0]="#&gt;#";
$pattern[1]="#&lt;#";
$pattern[2]="#&amp;#";
$pattern[3]="#&quot;#";

$pass=preg_replace($pattern, $replace, $pass);

Работает за исключением обратной косой черты и одинарных кавычек.

Я попробовал это:

$replace[5]="\\";
$pattern[5]="/&#92;/";

но это не удается.

Я использую php5.2

-2

Решение

Возможно, ваши шаблоны не сработали, так как разделители шаблонов конфликтуют с # в шаблоне. Ваш $pattern[5] шаблон должен служить вам хорошо. Возможно, это была простая ошибка во время тестирования.

Вот код, который заменит ваш массив символов, используя популярный и не конфликтующий слеш (/) в качестве разделителя: (демонстрация)

$pattern[0]="/&gt;/";
$pattern[1]="/&lt;/";
$pattern[2]="/&amp;/";
$pattern[3]="/&quot;/";
$pattern[4]="/&#39;/";
$pattern[5]="/&#92;/";

$replace[0]=">";
$replace[1]="<";
$replace[2]="&";
$replace[3]='"';
$replace[4]="'";
$replace[5]="\\";

$pass="Th&#92;is &lt; is &amp; a &gt; sample &quot;string&#39;";
var_export($pass);
echo "\n";
echo preg_replace($pattern, $replace, $pass);

Выход:

'Th&#92;is &lt; is &amp; a &gt; sample &quot;string&#39;'
Th\is < is & a > sample "string'
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]