需要一些正则表达式的帮助:
我想替换
[url=http://youtube.com]YouTube.com[/url]
Run Code Online (Sandbox Code Playgroud)
同
<a href="http://youtube.com">YouTube.com</a>
Run Code Online (Sandbox Code Playgroud)
正则表达式
preg_replace("/[url=(.*?)](.*?)[/url]/is", '<a href="$1">$2</a>', $text);
Run Code Online (Sandbox Code Playgroud)
为什么这会给我:
警告:preg_replace()[function.preg-replace]:第18行的C:\ Programa\wamp\www\func.php中的未知修饰符'r'
您应该在正则表达式中转义特殊字符:
preg_replace('/\[url=(.*?)](.*?)\[\/url]/is', '<a href="$1">$2</a>', $text);
Run Code Online (Sandbox Code Playgroud)
我已经转义了[字符(它们指定了字符类的开头)和/字符(它指定了正则表达式的边界.)
或者(对于/角色),您可以使用另一个边界角色:
preg_replace('#\[url=(.*?)](.*?)\[/url]#is', '<a href="$1">$2</a>', $text);
Run Code Online (Sandbox Code Playgroud)
但是你仍然需要逃避[角色.
| 归档时间: |
|
| 查看次数: |
269 次 |
| 最近记录: |