Я использую PHP, чтобы узнать, встречается ли строка, начинающаяся со специального символа регулярного выражения, как слово в текстовой строке. Это PHP-код:
$subject = " hello [hello [helloagain ";
$pattern = preg_quote("[hello");
if (preg_match("/\b" . $pattern . "\b/", $subject, $dummy)) {
echo "match";
} else {
echo "no match";
}
Шаблон начинается с символа [, поэтому для его экранирования используется preg_quote(). В теме есть экземпляр [hello как слово, поэтому должно быть одно совпадение, но вышеприведенная функция preg_match() не возвращает совпадений. Думаю причина в том, что в теме спецсимвол не распознается как начало или конец слова, но никак не могу придумать обходного пути, есть идеи? Спасибо.