5

私が理解できない(または学ぶことができない)ことが1つあるとすれば、それは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);

#区切り文字はどこにあり、\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 に答える