在str_replace中如何做到这一点

时间:2010-07-03 19:54:01

标签: php

我有留言簿,我想将以下[link]www.yahoo.com[/link]中的网址转换为<a>...

那str_replace怎么做?

2 个答案:

答案 0 :(得分:2)

str_replace功能不足以做到这一点。您可以使用preg_replace

$res = preg_replace('#\\[link\\](?![^:]+script:)([^:<"\\[]+:)?([^<"\\[]+)\\[/link\\]#e',
                    "'<a href=\"'.('\\1'?'\\1':'http://').'\\2\">click here</a>'",
                    $input);

示例:http://www.ideone.com/lTknX

但最好使用BBCode parser

答案 1 :(得分:0)

这应该适合你:

$string = "[link]www.yahoo.com[/link]";

echo preg_replace("/\[link\](.*)\[\/link\]/", "<a href='$1'>click here</a>", $string);