Ошибка бета-карт в Windows 8

Вы можете использовать это регулярное выражение:

$s = '"apple google" AND bing NOT yahoo "word a-b"';
$r = preg_replace('/(?=(([^"]*"){2})*[^"]*$)(?<!AND|NOT|OR) +(?!-|AND|NOT|OR)/i', 
                  ' ## ', $s);
echo "$r"; // "apple google" AND bing NOT yahoo ## "word a-b"

Это предполагает, что кавычки сбалансированы на входе, поскольку он обнаруживает текст внутри кавычек, подсчитывая даже число кавычек, следующих в lookahead.

-8
задан user1645787 4 September 2012 в 09:48
поделиться