我的 RegEx 有问题。我想翻译一个 BBCode 链接,例如
[link=www.stackoverflow.com]堆栈溢出[/link]
进入一个 HTML 链接,如
<a href='www.stackoverflow.com'>Stack-Overflow</a>.
在我的字符串中,可以在 BBCode 中创建多个链接。我还需要一个函数来将 html 翻译回 BBCode。
我的功能是 BBCode 到 HTML:
$Text = preg_replace('/\[link=([^ ]+).*\](.*)\[\/link\]/', '<a href="$1">$2</a>', $Text);
HTML 到 BBCode:
$Text = preg_replace('/\<a href="([^ ]+).*\">(.*)\<\/a\>/Usi', '[link=$1]$2[/link]', $Text);
我的问题是这些功能,当我有多个链接时,它不起作用,当我将一个链接翻译成 HTML 并且我想翻译回来时,我只有链接的第一个字符。
每个人都可以帮助我吗?提前致谢