在PHP中使用Regex删除空白标记 < >可以删除所有空白>代码>

在PHP中使用Regex删除空白标记 < >可以删除所有空白>代码>,php,regex,Php,Regex,在这种情况下,正则表达式应该删除前两个链接。我使用来实现这一点,但它匹配所有四个链接 任何帮助都将不胜感激 我认为?应该以尽可能少的字符数停止 更新:HTML不会无效,我自己生成。在我看来,在这种特殊情况下使用正则表达式会容易得多。我修改了您的正则表达式,通过将*更改为[^你永远不应该用正则表达式解析HTML。改用。@JayBlanchard我非常确定HTML不会无效。我自己生成它。在这种情况下使用regex会很容易。:)真的吗?因为你发现这不容易;-)哈哈。这很聪明@JayBlanchard。

在这种情况下,正则表达式应该删除前两个链接。我使用
来实现这一点,但它匹配所有四个链接

任何帮助都将不胜感激

我认为
应该以尽可能少的字符数停止


更新:HTML不会无效,我自己生成。在我看来,在这种特殊情况下使用正则表达式会容易得多。

我修改了您的正则表达式,通过将
*
更改为
[^你永远不应该用正则表达式解析HTML。改用。@JayBlanchard我非常确定HTML不会无效。我自己生成它。在这种情况下使用
regex
会很容易。:)真的吗?因为你发现这不容易;-)哈哈。这很聪明@JayBlanchard。我的意思是说它只会是一行。谢谢Zach。
[^选择组(
[…]
)中所有非(
^
)左尖括号的字符是什么(
检查我包含的regex101链接,它非常准确地解释了该页面上的查询,只需再问一个问题Zach。我一直认为
会尝试尽快停止匹配。在所有四个链接中,它不应该在第一个
处停止吗?
表示“可能存在或可能不存在”。因此regex字符串“
^Hell?o$
”将匹配“Hello”和“Hello”
<a href="this-goes-somewhere.com" rel="external"></a>
<a href="go-to-that-page.html"></a>
<a href="this-should-stay.html">This Should Stay</a>
<a href="this-should-stay.html"><img src="kitten.jpg"/></a>
<?php

$re = '/(<a[^<]*?><\/a>)/m';
$str = '<a href="this-goes-somewhere.com" rel="external"></a>
<a href="go-to-that-page.html"></a>
<a href="this-should-stay.html">This Should Stay</a>
<a href="this-should-stay.html"><img src="kitten.jpg"/></a>';

echo preg_replace($re, '', $str);
<a href="this-should-stay.html">This Should Stay</a>
<a href="this-should-stay.html"><img src="kitten.jpg"/></a>