У меня проблема с 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];
выход: <#
Я предполагаю, что ваш вывод не отображается для вас, как ожидалось, потому что вы смотрите на него в веб-браузере. Все, что начинается с < Символ, за которым следует буква, будет интерпретироваться как тег HTML.
Если вы посмотрите на страницу источника вашего вывода, вы, вероятно, увидите, что вы ищете.
Я уверен, что у PHP есть способ вывода экранированных тегов HTML и тому подобного на страницу, но я не знаком с этим.
$string = array('<','s');
echo htmlentities($string[0]);
echo htmlentities($string[1]);
когда ты эхом<‘, браузер предполагает, что вы открыли имя тега & ожидает «>». как известно, контент внутри < & > это тег & не отображается на выходе (теги используются для форматирования & иногда стилизация страницы). так что пользуйтесь echo htmlspecialchars($string[0])
вместо.
Меньше, чем а также больше, чем-символы обычно используются для определения элементов в html, поэтому вы должны определить, что эти символы должны выводиться как «нормальные персонажи» вместо:
< = less than (<)
> = more than (>)
В вашем примере:
$string = array(<,'1');
Взгляни на http://www.ascii.cl/htmlcodes.htm и посмотрите в «столбце имени HTML»
Вы могли бы также взглянуть на http://php.net/htmlentities