php变量上的htmlspecialchars行为

时间:2015-03-21 21:52:30

标签: php htmlspecialchars

我知道htmlspecialchars只应该用于输出到屏幕。但是我很难理解它逃避恶意数据的行为。

当我打印包含htmlspecialchars used data的PHP变量正确转义时。但是当我使用该变量inside another variable并打印第二个变量时,它不会转义特殊字符。

请查看代码以便更好地理解

确实逃脱

$page_owner.="<div id='pg_owner_$userx' class='now'><div id='user_img_holder' ><img src='account/".htmlspecialchars($userx)."/".htmlspecialchars($image)."' id='user_img' ><div id=''><b>".htmlspecialchars($busi_title)."</b></div></div></div>";
echo $page_owner;

无法逃脱

$all.="<div class='hold_indi_samesrc'>".$page_owner.".<div style='float:left;'>".$alu."</div></div>";
echo $all;

当我echo $all时,它不会逃离special character中的$page_owner

为什么会发生这种情况?有没有办法解决这个问题?

修改

second code block包含$page_owner中的first code block

当我回复$page_owner(用于测试目的)时,我得到$userx$busi_title的特殊字符转义。但我需要$alu和在$page_owner$all。当我回复$all时,我无法获取$userx$image$busi_title的特殊字符。它甚至是可能的。我怎么能这样做?

如果可以,请帮忙。

0 个答案:

没有答案