Перейти к содержимому



HtmlSpecialChars()

#1

Поделиться сообщением #1



Banderas

Banderas
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1
0

Отправлено 23 Май 2009 - 09:20

У меня появилась проблемка, у всех при таком коде
<?
$a = " $ % ^ & @ # \" ' ";
echo htmlspecialchars($a); // должно вывести типа & < ...
?>
должно выводить: & < ...
а у меня $ % ^ & @ # \" '

А теги HTML просто вместо символов (& <) выводит <h1><i>Hello</i></h1>.

В чем проблема? В GLOBALS()?

 

 

  • 0

I'm web-developer 

Magento one love!



robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Как сделать отправку почты если не работает mail()
  2. Вопрос о htmlspecialchars
  3. Защита от XSS
  4. От чего не приходит письмо на почту?
  5. Емейл не записывается в базу данных при регистрации

#2

Поделиться сообщением #2



ZiTosS

ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 23 Май 2009 - 12:01

Banderas, когда наконец научишься задавать вопросы? xD
В коде вообще не увидел строки <h1><i>Hello</i></h1>

Но твой вопрос немного понял. У тебя неправильное представление отображения. Как ты уже успел заметить, всё выводит как есть. Можешь посмотреть в HTML-код страницы и понять, что всё таки замена происходит. Просто при обращении к странице эквиваленты заменяются.
Если хочешь всё-таки увидеть эти эквиваленты, помести преобразованный текст в какое-нить текстовое поле. Например:
<?php
$a = "<h1><i>Hello</i></h1>";
$a = htmlspecialchars($a);
?>
<textarea><?=$a?></textarea>

  • 0

#3

Поделиться сообщением #3



Banderas

Banderas
    Topic Starter
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1

Отправлено 23 Май 2009 - 14:12

2*ZiTosS* хз когда xD
Все правильно понял, я уже тоже разобрался, это просто браузер переводит &amp; &gt; &lt; в & > <.
Пасибо, пошел дальше... :)
  • 0

I'm web-developer 

Magento one love!




Оформление форума – IPBSkins.ru