Php 正则表达式:在换行之前匹配行上的所有html标记
我在为这件事发愁。我想把所有的内容都放进去 还有我的正则表达式:Php 正则表达式:在换行之前匹配行上的所有html标记,php,html,regex,Php,Html,Regex,我在为这件事发愁。我想把所有的内容都放进去 还有我的正则表达式: /<a ?.*>(.*?)<\/a>/ / 这是匹配数组的一些示例输出: Array ( [0] => Array ( [0] => <a href="/schools/early-years-groups" class="active">Early Years Groups</a></li>&l
/<a ?.*>(.*?)<\/a>/
/
这是匹配数组的一些示例输出:
Array
(
[0] => Array
(
[0] => <a href="/schools/early-years-groups" class="active">Early Years Groups</a></li><li class="leaf first menu-mlid-20328 order_early_years_stuff"><a href="#" title="Order Schools Stuff">Order Early Years Stuff</a>
[1] => <a href="/schools/early-years-groups/fundraise" title="Fundraise">Fundraise</a>
[2] => <a href="/schools/early-years-groups/ey-showcase" title="Early Years Showcase">Early Years Showcase</a>
[3] => <a href="/schools/how-to-pay-your-money-in" title="">How To Pay Your Money In</a>
[4] => <a href="/schools/early-years-groups/learning-activities" title="Learning Activities">Learning Activities</a>
)
[1] => Array
(
[0] => Order Early Years Stuff
[1] => Fundraise
[2] => Early Years Showcase
[3] => How To Pay Your Money In
[4] => Learning Activities
)
)
数组
(
[0]=>阵列
(
[0]=>
[1] =>
[2] =>
[3] =>
[4] =>
)
[1] =>阵列
(
[0]=>订购早年产品
[1] =>筹款
[2] =>早年展示
[3] =>如何用现金付款
[4] =>学习活动
)
)
非常感谢你的帮助,这让我快发疯了 您不应该使用正则表达式来解析HTML。。。你会在这里找到很多例子来解释原因
也许类似的东西可以帮你解决这个问题。问题是,当你在搜索
时使用贪婪搜索,而它应该是懒惰的。下面是一个例子:
<a .*?>(.*?)<\/a>
^
您的正则表达式在开始标记上太“贪婪”。这样的方法应该更有效:
<a\s?[^>]*>([^<]*)</a>
]*>([^的标记,所以当它点击该>,它肯定会停止。同样的技巧也适用于锚的内容,除了结束锚标记的<之外,寻找任何东西。啊,永无止境的…你需要使用正则表达式来完成这项任务吗?PHP有一些HTML解析器可供使用,它们更适合于此。@KerrekSB可能重复谢谢你!我是一个完全的regex noob,这可以工作,但是选择整个元素而不是内容,或者像上面那样选择多维的元素和内容-有什么想法吗?但是在正确的轨道上谢谢:)
<a .*?>(.*?)<\/a>
^
<a\s?[^>]*>([^<]*)</a>