PHP - как вернуть HTML код специальных символов? - PullRequest
1 голос
/ 22 декабря 2011

Я работаю над такой функцией:

function foo() {
   return '[ = ]';
}

Но это возвращает:

[@]

А мне нужно:

[ = ]

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 22 декабря 2011

Вы можете либо вызвать htmlspecialchars в вашей строке перед выводом, либо просто заменить & в вашей строке на &.

Любой из них заставит браузер показывать = вместо @.

1 голос
/ 22 декабря 2011

или используйте:

return urlencode('[ = ]');
1 голос
/ 22 декабря 2011

Ваша функция возвращает правильную строку.

Когда вы просматриваете его в HTML-документе, он интерпретируется как сущность.

Мой совет - кодировать ответ при его отображении, например,

$foo = foo();
echo htmlspecialchars($foo, ENT_QUOTES, 'UTF-8');

Изменение возвращаемого значения вашей функции, вероятно, вызовет проблемы позже, когда вам может не потребоваться закодированная строка.

...