Почему этот кодPHP строка оборвалась
$string = "[email protected]#$%^&*(<[email protected]";
echo $string;
только выход:
[email protected]#$%^&*(
Является ли это PHP ошибка?
Почему этот кодPHP строка оборвалась
$string = "[email protected]#$%^&*(<[email protected]";
echo $string;
только выход:
[email protected]#$%^&*(
Является ли это PHP ошибка?
< Поскольку это зарезервированное персонаж в HTML :)
Использование <
и >
Прочитайте это для получения дополнительной информации
http://www.w3schools.com/HTML/html_entities.asp
Вы можете использовать функцию htmlspecialchars для преобразования таких специальные символы
Я не вижу, что:
Возможно, у вас есть какие-то странные символы в файле? Убедитесь, что вы используете «нормальную» кодировку в своем исходном коде.
Вам нужно сделать:
echo htmlentities($string);
для отображения строки, как это в браузере. Это связано с тем, что <
в строке интерпретируется браузером как начало HTML-тега.
Так что это не PHP, а браузер, который вызывает подобное поведение. Если вы выполняете то же отображение в командной строке, вы увидите все символы.
Если вы просматриваете вывод в веб-браузере, то <
начинает тег и обычно не отображается, а интерпретируется в парсера структуры документа HTML. Кроме того, в качестве имени переменной, которая следует за ним, интерполируется $
внутри строки с двумя кавычками; попробуйте использовать одинарные кавычки, где этого не произойдет.
Попробуйте это:
$string = '[email protected]#$%^&*(<[email protected]';
echo htmlentities($string);
является динамически генерироваться строку? – PHP