note < /strong>: < /p>
сингл и двойные цитируемые Php Strings имеют специальное значение назад. Таким образом, если \ должно быть сопоставлено с регулярным выражением \\ , то «\\\\» или '\\\\' должно использоваться в коде PHP. < /p>
< /blockquote>
Вот пример строки: \ test < /code> < /p>
Код: Выделить всё
$test = "\\test"; // outputs \test;
// WON'T WORK: pattern in double-quotes double-escaped backslash
#echo preg_replace("~\\\t~", '', $test); #output -> \test
// WORKS: pattern in double-quotes with triple-escaped backslash
#echo preg_replace("~\\\\t~", '', $test); #output -> est
// WORKS: pattern in single-quotes with double-escaped backslash
#echo preg_replace('~\\\t~', '', $test); #output -> est
// WORKS: pattern in double-quotes with double-escaped backslash inside a character class
#echo preg_replace("~[\\\]t~", '', $test); #output -> est
// WORKS: pattern in single-quotes with double-escaped backslash inside a character class
#echo preg_replace('~[\\\]t~', '', $test); #output -> est
< /code>
Заключение < /strong>: < /p>
Если шаблон с одним цитированием, Backslash должна быть двойной эскизы Класс символов, где он должен быть, по крайней мере, двойной сэскапирован \\\ < /code>
вне класса символов, он должен быть тройным, \\\\ < /code> < /li>
< /ul>
, кто может показать мне разницу, где двойной экскапин обратной склад в однокватном схеме. '~ \\\ ~'
Подробнее здесь: https://stackoverflow.com/questions/208 ... gle-quoted