我不知道,如何使主题(标题)足够清晰明白。 我有这样的事情:PHP(正则表达式)特殊的未知单词。字符“对匹配”
<h2>Title</h2>
<<navigation id="submenu">>
<<main level="1" asd="2">>
<<main level="1" asd="2">>
<<notmain>>asd<</notmain>>
<</navigation>>
<p><a href="..">asd</a>asdasdasd</p>
Oh no! The great rabbit is attacking us, and we are
only knights of a square table!
<h2>Here another tag can occur</h2>
<<footer>>
<<copyright id="copy">>
<</footer>>
我必须找到并记住(文本)有两个标签没有一个(但只有主父)对象。所以,在这个例子中,我需要的输出是这样的:
array(
0 => '<<navigation id="submenu">><<main level="1" asd="2">><<main level="1" asd="2">><<notmain>>asd<</notmain>><</navigation>>',
1 => '<<footer>><<copyright id="copy">><</footer>>';
空间和空格和制表符,休息也没关系,因为它很容易通过修剪和str_replace函数剥离它。唯一的问题是搜索方法。
我试图正则表达式,但有几个问题。
- 我只对父母有兴趣。所以没有递归搜索里面,只是在'< <''''和所有内部元素(不关注它们的外观)的元素外。
- 我还没有任何关于第一个单词的外观的数据。它可以是<>。然后返回所有:)。我不知道,如果正则表达式可以记住它找到的东西,我还没有找到任何解决方案。
我希望我的问题很清楚。 Thx的答复!
PS。我为此使用了PHP,并且我知道PHP(很好),所以没有代码或想法的文本解决方案也会有所帮助。
PS2。如果没有正则表达式的解决方案,它会很好。当然还有的暴力破解的解决方案,(字符地分析之后),但它需要大量代码...
您可以在正则表达式中使用反向引用。 –
是像这样的情况可能(嵌套的标记,也是主标签):'XXXX <><><> XXXX <><><> xxxx'? –
不要这么认为......但更好的考虑它:)。 +1。所有的答复和答案。我真的有一个接受的问题。因为他们都带来了新的和有益的东西。 –