2010-10-21 3 views

ответ

2

< Поскольку это зарезервированное персонаж в HTML :)

Использование &lt; и &gt;

Прочитайте это для получения дополнительной информации

http://www.w3schools.com/HTML/html_entities.asp

Вы можете использовать функцию htmlspecialchars для преобразования таких специальные символы

http://php.net/manual/en/function.htmlspecialchars.php

1

Я не вижу, что:

http://ideone.com/zhycx

Возможно, у вас есть какие-то странные символы в файле? Убедитесь, что вы используете «нормальную» кодировку в своем исходном коде.

1

Вам нужно сделать:

echo htmlentities($string); 

для отображения строки, как это в браузере. Это связано с тем, что < в строке интерпретируется браузером как начало HTML-тега.

Так что это не PHP, а браузер, который вызывает подобное поведение. Если вы выполняете то же отображение в командной строке, вы увидите все символы.

1

Если вы просматриваете вывод в веб-браузере, то < начинает тег и обычно не отображается, а интерпретируется в парсера структуры документа HTML. Кроме того, в качестве имени переменной, которая следует за ним, интерполируется $ внутри строки с двумя кавычками; попробуйте использовать одинарные кавычки, где этого не произойдет.

Попробуйте это:

$string = '[email protected]#$%^&*(<[email protected]'; 
echo htmlentities($string);