我目前正在将一些正文插入数据库中。这只是纯文本,但用户也希望能够添加工作链接。为了节省大量更改,我正在使用弹出窗口进行这些更改,该弹出窗口将按以下格式插入其链接:
[a]http://www.google.com[/a]
每个正文文本都可以包含多个链接。
当相关网页上显示此链接时,链接将更改为标准的html格式:
<a href="http://google.com">http://www.google.com</a>
我似乎无法设置preg_match来在字符串中多次执行此操作(请参阅下面的示例):
hello world [a]http://google.com[/a] how are you?
Ok. [a]http://yahoo.com[/a] Thanks for asing. [a]http://bing.com[/a]
非常感谢任何帮助!!!
谢谢, 凯恩
答案 0 :(得分:1)
使用此:
$str = "[a]http://www.google.com[/a] xy [a]http://www.google.com[/a]";
$str = preg_replace("/\[a\](.*)\[\/a\]/Usi", "<a href=\"\\1\">\\1</a>", $str);
echo $str;
输出:
<a href="http://www.google.com">http://www.google.com</a> xy <a href="http://www.google.com">http://www.google.com</a>;
答案 1 :(得分:0)
这应该有效:
$str = preg_replace('~\[a](.*?)\[/a]~si', "<a href='$1'>$1</a>", $str);