При добавлении «<» перед строкой больше не отображается - PullRequest
1 голос
/ 30 января 2011

Что происходит, когда я добавляю 'меньше чем <</strong>' перед строкой, потому что пропавшая строка перед ней исчезла [не отображалась, когда я echo them] в моем коде PHP。

E.g:
$search = trim('wdisappear W');  //  all the words were disappeared when < in front
$search = explode(" ", $search); //
$sizeof_search = count($search);  //


for($i = 0; $i < $sizeof_search; $i++){
    $l = strlen($search[$i]);
    echo '<'.$search[$i].'<'.$l;
}

Когда я открываю php файл в firefox . 'wdisappear W' не появляется! Почему ??

А как можно поставить

<</strong>

впереди ??

Большое спасибо !!

Ответы [ 3 ]

7 голосов
/ 30 января 2011

Это потому, что < открывает HTML-элемент. Это приведет к тому, что часть текста станет невидимой, потому что FF считает, что это подразумевается как разметка HTML. Чтобы избежать этого, выведите сущность &lt; html или используйте функцию htmlspecialchars, чтобы скрыть вывод.

4 голосов
/ 30 января 2011

По умолчанию PHP доставляет контент как text/html, а в HTML < открывает тег.Таким образом, ваш контент интерпретируется как недействительный тег и не отображается.Вы должны избежать этого, используя &lt;.Существуют и другие зарезервированные символы, которые необходимо кодировать.Вы можете сделать все сразу, используя htmlspecialchars.

В качестве альтернативы вы можете доставить свой контент как text/plain, который не требует выхода(С другой стороны, вы не можете использовать HTML там, очевидно.)

3 голосов
/ 30 января 2011

Символ < имеет особое значение в HTML как начало тега.Вызовите htmlspecialchars, чтобы преобразовать < в объект HTML &lt;, чтобы он правильно отображался в браузере.Возможно, вы также захотите вызвать это значение $search[i], иначе вы можете оставить в своем приложении уязвимость межсайтовый скриптинг .

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

echo htmlspecialchars('<' . $search[$i] . '<' . $l);

Из документации:

Некоторые символы имеют особое значение в HTML и должны быть представлены объектами HTML, если они хотят сохранить свои значения.Эта функция возвращает строку с некоторыми из этих преобразований;Сделанные переводы наиболее полезны для повседневного веб-программирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...