PHP 字符转义 正规

来源:百度知道 编辑:UC知道 时间:2024/05/09 17:54:45
条件 已知:
[emt2],[emt3],为表情代码!

$src='今天,天气好好哟[emt2]!好开心好高兴哟[emt3]!';

问题:

怎么将他转义 或者 正规 输出后变成
$src='今天,天气好好哟<img src="admin/upimages/2.jpg">!好开心好高兴哟<img src="admin/upimages/3.jpg">!';

注意[emtN]
你不知道N是多少 但是知道 N在1到60之间,
N就是数字 也就是 图片的文件名

$str = "[emt2],[emt20],[emt20],[emt50],[emt61]";

function __callback($ary){
return "<img src='admin/upimages/" . ( intval(substr($ary[0],4)) > 60 ? 0 : intval(substr($ary[0],4)) ) . ".jpg'>";;
}
echo preg_replace_callback('/\[emt\d{1,2}\]/i' , '__callback' , $str);

$src = preg_replace('|\[emt(\d)\]|', '<img src="admin/upimages/$1.jpg">', $src);

$1是向后引用,应用正则表达式里第一个小括号里匹配到的内容即你要的数字
请参见正则表达式语法