如何从作为字符串的数组键中删除特殊字符?我从美国邮政局收到XML,他们正试图在未转义的XML中编码TM和TradeMarks。所以当我向他们展示运费时;在我创建的选择框中,似乎有很多乱码。
当我尝试这个时 -
foreach($responseUSPSsimple as $name => $amount) {
strip_tags($name);
echo $name . '<br />';
}
我明白了 -
Express Mail<sup>®</sup>
Express Mail<sup>®</sup> Hold For Pickup
Express Mail<sup>®</sup> Sunday/Holiday Delivery
Express Mail<sup>®</sup> Flat Rate Boxes
Express Mail<sup>®</sup> Flat Rate Boxes Hold For Pickup
Express Mail<sup>®</sup> Sunday/Holiday Delivery Flat Rate Boxes
任何人都可以帮我从该输出中删除 部分吗?
答案 0 :(得分:1)
我假设您发布的输出显示在浏览器中。根据您$name=strip_tags($name)
无效的评论,您的原始字符串已经采用编码格式的html实体,因此strip_tags
无法删除此类标记。请尝试以下。
foreach($responseUSPSsimple as $name => $amount) {
$name = strip_tags(htmlspecialchars_decode($name));
echo $name . '<br />';
}
答案 1 :(得分:0)
如果你找不到更精确适合你的问题的东西,你总是可以使用大锤方法从输出中删除所有xml标签:
foreach($responseUSPSsimple as $name => $amount) {
$newName = preg_replace('#<[^>]+>.*?<[^>]+>#', '', $name);
echo $newName . '<br />';
}