Не существует встроенной функции PHP, которая будет принимать такой объект, как &
, и превращать его в двойную &.На всякий случай путаница, html-сущность для & на самом деле &
, а не amp;
, поэтому запуск любого встроенного парсера в вашем примере вернет следующее:
<a href="index.php?q=event&id=56&date=128">
, а не
<a href="index.php?q=event&&id=56&&date=128">
Чтобы получить double & version, вам нужно использовать регулярное выражение.
В качестве альтернативы, если вы действительно хотите single & version, у вас есть две возможности.
- Если вы просто хотите конвертировать
& " ' < >
, вам следует использовать htmlspecialchars_decode .Этого будет достаточно для приведенного вами примера. - Если вы хотите преобразовать любую строку формата & TEXT;тогда вы должны использовать html-entity-decode .
Я подозреваю, что htmlspecialchars_decode будет быстрее, чем html_entity_decode, поэтому, если он охватывает все сущности, которые вы хотите преобразовать, вы должны использовать это.