正则表达式求救~~

zjgest 2015-05-28 09:14:23
[#微笑][#大哭][#色] 如果通过preg_replace() 变成<img src="微笑.jpg"/><img src="大哭.jpg"/><img src="色.jpg"/>
...全文
88 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
野蛮秘籍 2015-05-28
  • 打赏
  • 举报
回复
$str = "[#微笑][#大哭][#色]"; $pattern = "/\[#([\s\S]*)\]\s*\[#([\s\S]*)\]\s*\[#([\s\S]*)\]\s*/"; preg_match_all($pattern,$str,$match); $new_str = preg_replace($pattern,'<img src="\1.jpg"/><img src="\2.jpg"/><img src="\3.jpg"/>',$str); echo $new_str;
zjgest 2015-05-28
  • 打赏
  • 举报
回复
引用 5 楼 lijpwsw 的回复:

$str='af d [#微笑]adfaf[#大哭]asdfasd[#色]asdfaf';
$new = preg_replace('/\[\#(.+?)\]/', "<img src='$1.jpg'/>", $str);
var_dump($new);
这个可以!感谢!!
lijpwsw 2015-05-28
  • 打赏
  • 举报
回复

$str='af d [#微笑]adfaf[#大哭]asdfasd[#色]asdfaf';
$new = preg_replace('/\[\#(.+?)\]/', "<img src='$1.jpg'/>", $str);
var_dump($new);
zjgest 2015-05-28
  • 打赏
  • 举报
回复
网上看了个例子:$str = preg_replace ( "[\[#([0-9]*)\]]", "<img src=\"$1.gif\" />", $str ); 但是这个只能替换[#1][#22]这种 如果是中文的 要怎么改呢?正则一点都不懂啊
zjgest 2015-05-28
  • 打赏
  • 举报
回复
如:$str=我来啦!![#微笑][#微笑]么么~~[#色] 变成:我来啦!!<img src="微笑.jpg"/><img src="微笑.jpg"/>么么~~<img src="色.jpg"/>
zjgest 2015-05-28
  • 打赏
  • 举报
回复
我的$str里面的表情数量是不定的,而且还会有其他非表情的字符
果酱很好吃 2015-05-28
  • 打赏
  • 举报
回复

$str='[#微笑][#大哭][#色]';
preg_match_all('/\[#(.+?)\]/',$str,$m);
echo '<img src="'.$m[1][0].'.jpg"/><img src="'.$m[1][1].'.jpg"/><img src="'.$m[1][2].'.jpg"/>';

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧