5

如果有一件事我无法理解(或学习),那就是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);

但它甚至没有接近我所需要的。一个解决方案将不胜感激。

4

2 回答 2

7

你已经接近了,你只需要分隔符并限制你对空格字符的搜索:

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

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

您可以在此示例中看到它的工作原理。

于 2012-07-17T15:27:00.807 回答
1

对于删除空格:

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

删除新行:

$string = preg_replace('/\r\n/', "", $data);
于 2012-07-23T10:54:14.093 回答