Как написать шаблон для preg_replace в переполнении стека

У меня есть строка с некоторыми амперсандами.
Например, символ «Эквивалентность»á «в моей строке.
Но моя функция:

preg_replace("/(" . $q . ")+/i", "<strong>$1</strong>", $c)

Если переменная $ q соответствует любому из этих символов «&aacute; «это уже не амперсанд, и я получаю нечитаемый текст.

Как написать шаблон, который будет игнорировать все символы с частями амперсандов?
Или шаблон, который игнорирует все между «&» а также «;».

Это чешский язык, и мне нужно написать правильную функцию для освещения ключевых слов в результатах поиска …

1

Решение

Я нашел решение этой проблемы

$str = html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|tilde|uml);~i', '$1', $string), ENT_QUOTES, 'UTF-8');
$res = preg_replace("/(" . $q . ")+/i", "<strong>$1</strong>", $str);
0

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector