我从服务器接收到一个xml响应作为字符串。我应用了"htmlspecialchars_decode"将html实体转换回字符,试图通过simplexml_load_string进行解析。我的问题是,当我执行var_dump时,我得到的响应是:
string '<?xml version="1.0" encoding="UTF-8"?><Message from="Dante"><br /> <pictures count="0"></pictures><br /></Message><br /><br />' (length=134)
如何删除br/>和nbsp标签?
在这种情况下,直接的str_replace()
可能会起作用:
$string = str_replace('<br />', '', $string);
$string = str_replace(' ', '', $string);
或者简称:
$string = str_replace(array('<br />', ' '), '', $string);
由于它是要删除的固定模式,所以使用regex似乎有些过头了(而且性能更重)。
$cleanResponse = preg_replace('/ |<br '/>/i', '', $response);
应该完成这项工作。