将XML代码保存为PHP中的字符串


Save XML code as string in PHP

我正试图将XML代码保存为PHP中的字符串,以便稍后将其保存到数据库中。然而,无论我使用"还是",XML似乎总是被执行的。

$Cxml = '<Conds><C><FieldNo>119</FieldNo><Filter>' . $variable . '</Filter></C></Conds>';

我做错了什么?

仅用&lt;替换<,用&gt; 替换>

$variable = 12345;
$Cxml = '<Conds><C><FieldNo>119</FieldNo><Filter>' . $variable . '</Filter></C></Conds>';
$temp_var1 = str_replace('<','&lt;',$Cxml);
$temp_var2 = str_replace('>','&gt;',$temp_var1);
echo $temp_var2;

输出:<Conds><C><FieldNo>119</FieldNo><Filter>12345</Filter></C></Conds>

更新:

htmlspecialchar()函数生成相同的输出。例如:

$Cxml = '<Conds><C><FieldNo>119</FieldNo><Filter>' . $variable . '</Filter></C></Conds>';
echo htmlspecialchars($Cxml);

解释:

HTML字符编码器将所有适用的字符转换为相应的HTML实体。某些字符在HTML中具有特殊意义,应该转换为正确的HTML实体以保留其含义。

例如,不可能使用<字符,因为它在HTML语法中用于创建和关闭标记。它必须转换为相应的&lt; HTML实体才能显示在HTML页面的内容中。HTML实体名称区分大小写。