使用regex php在结束标记的末尾查找char换行符

时间:2011-12-06 15:24:29

标签: php xml regex

我从用户那里获得的xml文件可能包含换行符,也可能不包含。

因此,要使用xml格式,我可以通过使用正则表达式来完成解决方案

示例:

<?xml version="1.0" encoding="UTF-8"?>
    <Document xmlns="urn:iso:std:iso:20022:tech:xsd">
        <tag1>/* .. more .. */</tag1> /*newline*/
    </Document>

任何人都可以告诉我如何使用正则表达式来识别xml字符串,在结束时有换行符</tag>

这种方法允许我更多地控制xml格式并将消息显示回user.something,例如你的xml文件在结束标记的末尾包含换行符

2 个答案:

答案 0 :(得分:2)

你在找这样的东西吗?

</[^<]*>(?:\r?\n|\r\n?)

here on Regexr

我不确定它是否有用,但这就是它的作用:

搜索结束标记</[^<]*>,然后搜索\r?\n\r\n?,其中?表示之前的字符是可选的。

答案 1 :(得分:1)

格式良好的XML不会考虑换行符。换行符不是XML结构的一部分。 <foo><bar></bar></foo>与以下内容相同:

<foo>
    <bar>
    </bar>
</foo>

考虑使用SimpleXML之类的内容进行解析。