Элемент массива меньше знака не печатает

У меня проблема с PHP. Когда у меня есть следующий массив:

$string = array('<','s');

echo $string[0];
echo $string[1];

Ничего не показывает

Печатается нормально, если вместо ‘s’ я ставлю любой другой специальный символ или целочисленное значение

$string = array('<','1');

echo $string[0];
echo $string[1];

выход: <1

ИЛИ ЖЕ

$string = array('<','1#');

echo $string[0];
echo $string[1];

выход: <#

0

Решение

Я предполагаю, что ваш вывод не отображается для вас, как ожидалось, потому что вы смотрите на него в веб-браузере. Все, что начинается с < Символ, за которым следует буква, будет интерпретироваться как тег HTML.

Если вы посмотрите на страницу источника вашего вывода, вы, вероятно, увидите, что вы ищете.

Я уверен, что у PHP есть способ вывода экранированных тегов HTML и тому подобного на страницу, но я не знаком с этим.

2

Другие решения

$string = array('<','s');
echo htmlentities($string[0]);
echo htmlentities($string[1]);
0

когда ты эхом<‘, браузер предполагает, что вы открыли имя тега & ожидает «>». как известно, контент внутри < & > это тег & не отображается на выходе (теги используются для форматирования & иногда стилизация страницы). так что пользуйтесь echo htmlspecialchars($string[0]) вместо.

0

Меньше, чем а также больше, чем-символы обычно используются для определения элементов в html, поэтому вы должны определить, что эти символы должны выводиться как «нормальные персонажи» вместо:

&lt; = less than (<)
&gt; = more than (>)

В вашем примере:

$string = array(&lt;,'1');

Взгляни на http://www.ascii.cl/htmlcodes.htm и посмотрите в «столбце имени HTML»

Вы могли бы также взглянуть на http://php.net/htmlentities

0
По вопросам рекламы [email protected]