取代某些

时间:2012-04-02 21:09:23

标签: php regex

所以,我有一串文字:

string with a bunch of links but i need to simply get rid of these <a href="a.domain.com">Title</a> string with more links and text

我需要使用PHP preg_replace摆脱<a to a>中存在a.domain.com的所有内容(它始终是同一个域)。 看起来很简单,但我无法理解这一点&gt;。&lt;或找到解释正则表达式的任何地方:/

2 个答案:

答案 0 :(得分:1)

我总是喜欢这个网站的regexp:http://www.regular-expressions.info/ 这不是一个完整的答案,但我会匹配<a [...]>[...]</a>并确保它不贪婪,所以你最终不会撕掉从<a [...]>一直到最后一次出现的所有内容</a>。 这是在另一个论坛推荐的,您可能也想尝试一下:

$rev= preg_replace('/<a href="([^<]*)">([^<]*)<\/a>/', '', $_POST['rev']);

答案 1 :(得分:0)

如果您希望保留<a>标记内的内容,可以尝试strip_tags()功能。

如果你想要更复杂的东西,那么学习正则表达式的好教程是http://www.regular-expressions.info/

您可以尝试类似

的内容
$no_tags = preg_replace('#<a (.*?)>(.*?)</a>#', '', $text);

但请注意,如果您的代码比您发布的代码更复杂,这将会中断。