[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите разобраться с htmlentities()
DorianLeroy
Выполняю задачку Твиттера http://phpforum.ru/index.php?showtopic=19168, не стал выкладывать собственное решение, мне кажется их уже достаточно, чтобы вникнуть понять все тонкости.
Так вот, не могу понять, по мануалу функция http://php.su/functions/?htmlentities преобразует все символы в соответствющие HTML сущности :

<?php
$str = "A 'quote' is <b>bold</b>";

// выводит: A 'quote' is <b>bold</b>
echo htmlentities($str);

// выводит: A 'quote' is <b>bold</b>
echo htmlentities($str, ENT_QUOTES);
?>
.

Когда я вывожу список всех юзеров занесённых в БД(без htmlentities()):
while($row=mysql_fetch_assoc($result_out))
{

echo "<a href=form.php?user=".$row['name'].">". $row['name']."</a><br>";}

такие имена как "<?echo X;?>" выводятся вот так "echo;" если я вывожу с помощью htmlentities:

while($row=mysql_fetch_assoc($result_out))
{

echo "<a href=form.php?user=".$row['name'].">". htmlentities($row['name'])."</a><br>";}

Всё выводится ровно, безо всяких сущностей, как написано в мануале(таких как &lt;b&gt;). Почему так?




Спустя 43 минуты, 48 секунд (22.10.2010 - 13:30) Michael написал(а):
$x = '<?echo X;?>';
echo $x;
echo '<hr>';
echo htmlentities($x);

выдаст у меня:
<?echo X;?><hr>& lt;?echo X;?& gt;
- это если смотреть исходный код страницы. У тебя не так что ли?
p.s. & gt; - пробел лишний вставил, а то форум не пропускает

Спустя 1 день, 6 часов, 53 минуты, 59 секунд (23.10.2010 - 20:24) DorianLeroy написал(а):
Вот такой код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<
title>Untitled Document</title>
</
head>

<
body>
<?php
$x = '<?echo X;?>';
echo $x;
echo '<hr>';
echo htmlentities($x);
?>
</body>
</
html>

выводит у меня только верхнюю полосу(<hr>) и под ней один раз <?echo X;?>

Спустя 24 минуты, 3 секунды (23.10.2010 - 20:48) kovaldm написал(а):
Так и должно быть.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.