【发布时间】:2012-05-21 05:29:30
【问题描述】:
$pattern = "/\[(.*?)\]\((.*?)\)/i";
$replace = "<a href=\"$2\" rel=\"nofollow\">$1</a>";
$text = "blah blah [LINK1](http://example.com) blah [LINK2](http://sub.example.com/) blah blah ?";
echo preg_replace($pattern, $replace, $text);
上述方法可行,但如果在 [] 和 () 之间意外插入了一个空格,则一切都会中断,并且两个链接会合二为一:
$text = "blah blah [LINK1] (http://example.com) blah [LINK2](http://sub.example.com/) blah blah ?";
我有一种感觉是松散的星星打破了它,但不知道如何匹配重复链接。
【问题讨论】:
-
这是某种 Markdown 解析器吗?如果是这样,你为什么不使用一个已经存在的?
-
是的。我只需要基本的链接功能,不需要id和title。