preg_replace:怎么样?

时间:2012-07-17 15:24:59

标签: php regex preg-replace

如果有一件事我无法理解(或学习),那就是preg_replace语法。我需要帮助删除><之间的所有可能符号(空格,制表符,换行符等)。

意思是,我有这样的XML:

<?xml version=\"1.0\" encoding=\"UTF-8\"?><bl>  <snd>BANK</snd>    <rcv>ME</rcv>  <intid>773264</intid> <date>17072012</date></bl>

我需要它看:

<?xml version=\"1.0\" encoding=\"UTF-8\"?><bl><snd>BANK</snd><rcv>ME</rcv><intid>773264</intid><date>17072012</date></bl>

到目前为止,我提出了这个问题:

$this -> data = preg_replace('\>(.*?)<\', '><', $data);

但它甚至没有接近我需要的东西。我们将不胜感激。

2 个答案:

答案 0 :(得分:7)

您已经关闭,您只需要分隔符并限制搜索空格字符:

preg_replace('#>\s+<#', '><', $data);

其中#是分隔符,\s是任何空格字符的简写。

您可以在this example中看到它。

答案 1 :(得分:1)

删除空格:

preg_replace('/\s\s+/', ' ', $data);

删除新行:

$string = preg_replace('/\r\n/', "", $data);