Этот код:PHP preg_match_all не соответствует сбежавший цитату
<?php
$string = "\"single quote";
preg_match_all("/\"/im", $string, $m);
$all_quotes = count($m);
preg_match_all("/\\\"/im", $string, $m);
$escaped_quotes = count($m);
echo "<pre>";
echo "<b>string:</b> $string<br>";
echo "<b>all quotes:</b> $all_quotes<br>";
echo "<b>escaped quotes:</b> $escaped_quotes<br>";
echo "</pre>";
?>
должен соответствовать все кавычки, то матч все ускользает кавычки, и эхо результатов. По какой-то причине для строки "single quote
она перекликается как с одной цитатой, так и с одной экранированной цитатой, однако шаблон /\\\"/im
ничего не соответствует при выполнении в http://regexr.com с той же строкой.
Параметр '«\»" 'не содержит обратную косую черту Проверьте [эту демонстрацию, чтобы увидеть, как. объявить обратную косую черту в строковом литерале PHP] (http://ideone.com/c2In3Z). –
Возможный дубликат [Правильный способ избежать обратного слэша \ [\ \] в PHP регулярное выражение?] (http://stackoverflow.com/questions/11044136/right-way-to-escape-backslash-in-php-regex) – 4castle