如何替换 XML 中特定标记之间的 \n 换行符
pHow to replace \n line break between specific tag in XML
我有一个很长的 XML 源文件存储在 $Result 中,其中包含其他标签,多个名为 uid1 和 uid20 的标签。
<set1>
<uid1>Line 1
Line 2
Line 3
Line 4
</uid1>
<uid20>Line 1
Line 2
Line 3
Line 4
</uid20>
</set1>
<set2>
<uid1>Line 1
Line 2
Line 3
Line 4
</uid1>
<uid20>Line 1
Line 2
Line 3
Line 4
</uid20>
</set2>
...
我需要用分号替换这两个标记之间的所有 \n 换行符,但保持所有其他 \n 换行符不变。我试过 preg_replace 但无法让它工作,因为我不知道如何包含标签数组。我也读过 preg_replace 不适合这样做吗?对我有什么提示吗?
尝试str_replace("</set1>\n<set2>", "</set1>;<set2>", $xml);
\n 仅适用于双引号。
我有一个很长的 XML 源文件存储在 $Result 中,其中包含其他标签,多个名为 uid1 和 uid20 的标签。
<set1>
<uid1>Line 1
Line 2
Line 3
Line 4
</uid1>
<uid20>Line 1
Line 2
Line 3
Line 4
</uid20>
</set1>
<set2>
<uid1>Line 1
Line 2
Line 3
Line 4
</uid1>
<uid20>Line 1
Line 2
Line 3
Line 4
</uid20>
</set2>
...
我需要用分号替换这两个标记之间的所有 \n 换行符,但保持所有其他 \n 换行符不变。我试过 preg_replace 但无法让它工作,因为我不知道如何包含标签数组。我也读过 preg_replace 不适合这样做吗?对我有什么提示吗?
尝试str_replace("</set1>\n<set2>", "</set1>;<set2>", $xml);
\n 仅适用于双引号。