我知道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
的特殊字符。它甚至是可能的。我怎么能这样做?
如果可以,请帮忙。