Допустим, у меня есть эта строка:
Hello &, how are you? I'm fine!
Есть ли функция, которая преобразует это в:
Hello &, how are you? I'm fine!
Кроме того, почему «» иногда отображается как: sites на сайтах? Чего мне не хватает?
Да, htmlspecialchars().
htmlspecialchars()
Выполнены следующие переводы: & (амперсанд) становится & " (двойная кавычка) становится ", когда ENT_NOQUOTES не установлен. ' (одинарная кавычка) становится ' только при установленном ENT_QUOTES. < (меньше чем) становится < > (больше чем) становится >
Выполнены следующие переводы:
&
&
"
"
'
'
<
<
>
>
Чтобы ответить на ваш второй вопрос, касающийся неправильного рендеринга символов, он связан с наличием в вашем файле прямых символов Юникода. Обычно это результат вставки из программы, использующей символы Юникода. Когда этот юникод не конвертируется в ASCII или HTML-сущность, он не будет правильно отображаться в браузере, поскольку браузер будет пытаться интерпретировать его как нечто, чем он не является.