PHP Preg_match 单个字符串中有多个项目?
PHP Preg_match multiple items in a single string?
我目前正在向数据库中插入一些正文。这只是纯文本,但用户也希望能够添加有效的 links。为了避免进行大规模更改,我正在使用弹出窗口进行这些更改,该弹出窗口将按以下格式插入 link:
[a]http://www.google.com[/a]
每个正文可以超过一 link 英寸。
相关网页上显示时,links 将更改为标准 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]
任何帮助将不胜感激!!!
谢谢,
凯恩
这应该有效:
$str = preg_replace('~\[a](.*?)\[/a]~si', "<a href=''></a>", $str);
使用这个:
$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>;
我目前正在向数据库中插入一些正文。这只是纯文本,但用户也希望能够添加有效的 links。为了避免进行大规模更改,我正在使用弹出窗口进行这些更改,该弹出窗口将按以下格式插入 link:
[a]http://www.google.com[/a]
每个正文可以超过一 link 英寸。
相关网页上显示时,links 将更改为标准 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]
任何帮助将不胜感激!!!
谢谢, 凯恩
这应该有效:
$str = preg_replace('~\[a](.*?)\[/a]~si', "<a href=''></a>", $str);
使用这个:
$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>;