0

我在由 PHP SOAP 客户端创建的 XML 文档中有文本值,其中包含一个 ' (这是一个撇号)。我已经确认编码是 ASCII 应该是有效的 UTF-8。我是这样做的:

foreach ($myarrayofstrings as $s){
    echo mb_detect_encoding($s);
}

如果我像这样删除撇号,那么服务器会接受我的请求。

$myarrayofstrings = str_replace("'", "", $myarrayofstrings);

问题:

在没有 str_replace 的情况下,我能做些什么来确保每次都能正常工作吗?

4

1 回答 1

0

对我来说,总是使用utf8_encode函数而不是任何替换:

$myarrayofstrings = utf8_encode($myarrayofstrings);

但我认为你也可以htmlspecialchars使用

<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;     
?>
于 2013-06-07T19:35:06.937 回答