正则表达式子模式使用函数(1 位领导批示)

原问题地址: http://bbs.blueidea.com/thread-2944055-1-1.html

比较正确的解决方法:

1
2
3
4
5
<?php
$str="[thunder]ftp://3gset.cn:3gset@down.3gset.cn/谢谢你的温柔-S.H.E_飞轮海.mv.320x240.avi[/thunder]";
$str = preg_replace("/\[thunder\](.[^\[]*)\[\/thunder\]/ie","'<a href=\"thunder://'.base64_encode('\\1').'\">\\1</a>'", $str);
echo htmlspecialchars($str);
?>

这段代码的重点是使用了修饰符 e
正则表达式的修饰符 e 是这么解释的:
如果设置这个修饰符, preg_replace() 将在替换值里进行正常的涉及到 的替换, 等同于在 PHP 代码里面一样, 然后用于替换搜索到的字符串.

全文阅读 »

随机显示的10篇日志

评论最多的10篇日志

浏览最多的10篇日志