Ответ уже дан: используйте htmlentities()
. Кроме того, было предложено использовать UTF-8, что, конечно, действительно хорошая идея. Однако, если вы планируете использовать htmlentities()
на UTF-8 строк, используйте следующий код (или вы получите причудливо закодированные символы):
htmlentities($str, ENT_COMPAT, 'UTF-8')
Как вы можете себе представить, это отстой того, чтобы добавить второй и третий аргумент все время. Для большинства проектов мне нужно htmlentities()
, я в конечном итоге пишу функцию быстрого вызова, то есть:
действительно? это применимо только к фракциям? – Tom
Utf-8 позволит вам использовать практически любой символ без преобразования. Тем не менее, вы все равно должны называть htmlentities для обеспечения безопасности. http://akrabat.com/2009/03/18/utf8-php-and-mysql/ подробно описано, как использовать UTF-8 - вам нужно внести изменения в php, mysql и html. –
Это относится ко всему, что вы можете поместить в кодировку, которую вы используете. Если вы находитесь в ISO-8859-1 (западноевропейский), вы получаете до U + 00FF, который включает в себя ¼½¾ (U + 00BC-U + 00BE). Если вы используете UTF-8, который включает всю гамму символов Юникода. Хотя вам все еще нужны htmlspecialchars для работы с '<'/'&'. – bobince