PHP 两个词之间的正则表达式匹配值并替换

PHP Regex match value in between two words and replace

大家好我想用 php 实现的是在两个单词之间找到一个值(对于所有出现的情况)并将其替换为另一个字符串,然后删除该值周围的单词。 这是一个例子

$mysting = "[link]http://website.com[/link] bla bla bla bla [link]http://google.com[/link]";

我想要实现的是制作这个字符串:

$newString = "<a href='http://website.com'>http://website.com</a> bla bla bla bla <a href='http://google.com'>http://google.com</a>";

我该怎么做? 这就是我现在拥有的

preg_match("/(?<=[link])(.*)(?=[/link])/", $formData ,$match);

提前致谢!!

使用preg_replace函数:

$mysting = "[link]http://website.com[/link] bla bla bla bla [link]http://google.com[/link]";
$new_str = preg_replace("/\[link\]([^\[]+)\[\/link\]/", "<a href=''></a>", $mysting);

print_r($new_str);

输出(作为源代码):

<a href='http://website.com'>http://website.com</a> bla bla bla bla <a href='http://google.com'>http://google.com</a>