У меня есть следующий код, чтобы заменить некоторые символы:PHP: str_replace не работает для некоторых символов
<?php
function xmlEscape($string)
{
return str_replace(array('&', '<', '>', '\'', '"'), array('&', '<', '>', ''', '"'), $string);
}
$xxx = 'The character & is ampersand and < stands for "less than". ';
echo xmlEscape($xxx)." <p/>";
echo str_replace ('&', '&', $xxx."<p/>");
echo str_replace ('character','letter', $xxx);
?>
Результатом является:
The character & is ampersand and < stands for "less than".
The character & is ampersand and < stands for "less than".
The letter & is ampersand and < stands for "less than".
только третий работает отлично. Что может быть причиной ? Я когда-то использовал этот код в других скриптах, и эта функция работала. Что делает функцию работы в одном скрипте и не работает в других? Использование Firefox в качестве браузера.
Спасибо.
Практически любой символ - символ «Юникод», это идея Юникода. Тем не менее, амперсамп является даже символом ASCII. Я думаю, что это называется «ссылкой на HTML-символ». –