php变量上的htmlspecialchars行为

php变量上的htmlspecialchars行为,php,htmlspecialchars,Php,Htmlspecialchars,我知道htmlspecialchars应该只用于输出到屏幕。但是我很难理解它逃避恶意数据的行为 当我打印包含htmlspecialchars的PHP变量时,使用的数据是正确的转义。但是当我在另一个变量中使用该变量并打印第二个变量时,它不会转义特殊字符 请查看代码以便更好地理解 逃走了吗 无法逃脱 当我回显$all时,它不会转义$page\u owner中的特殊字符 为什么会这样?有没有办法解决这个问题 编辑 第二个代码块包含第一个代码块中的$page_owner 当我回显$page_owner进

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

当我打印包含htmlspecialchars的PHP变量时,使用的数据是正确的转义。但是当我在另一个变量中使用该变量并打印第二个变量时,它不会转义特殊字符

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

逃走了吗

无法逃脱

当我回显$all时,它不会转义$page\u owner中的特殊字符

为什么会这样?有没有办法解决这个问题

编辑

第二个代码块包含第一个代码块中的$page_owner

当我回显$page_owner进行测试时,我得到$userx、$busi_title的特殊字符被转义。但由于我需要$alu和$page_owner在$all中。当我回显$all时,我无法得到$userx、$image、$busi_title的特殊字符被转义。这有可能吗?我该怎么做


如果可以,请提供帮助。

第二个文件中使用的htmlspecialchars在哪里?我在$page\u owner上使用了它。为什么在我回显$All时$busi\u标题没有转义?我可以澄清我的观点吗?$page\u owner中的数据包含htmlspecialchars。为什么我不从$page\u owner获取转义数据,当我回显$allI时,我认为您应该为自己制作一个更好的小示例,看看您是否能够在主代码库之外重现这种行为。我想你会发现你做不到。我的意思是:错误在其他地方。我无法理解你的意思。你在主代码库之外重现这种行为是什么意思?你是说,我正在寻找的方式不可能吗?
$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;