剥离/移除<;br/>;从xml字符串


strip/remove <br /> from xml string

我从服务器接收到一个xml响应作为字符串。我应用了"htmlspecialchars_decode"将html实体转换回字符,试图通过simplexml_load_string进行解析。我的问题是,当我执行var_dump时,我得到的响应是:

string '<?xml version="1.0" encoding="UTF-8"?><Message from="Dante"><br />&nbsp;&nbsp;<pictures count="0"></pictures><br /></Message><br /><br />' (length=134)

如何删除br/>和nbsp标签?

在这种情况下,直接的str_replace()可能会起作用:

$string = str_replace('<br />', '', $string);
$string = str_replace('&nbsp;', '', $string);

或者简称:

$string = str_replace(array('<br />', '&nbsp;'), '', $string);

由于它是要删除的固定模式,所以使用regex似乎有些过头了(而且性能更重)。

$cleanResponse = preg_replace('/&nbsp;|<br '/>/i', '', $response);应该完成这项工作。