编程语言求解关于preg_replace函数解决思路

编程语言求解关于preg_replace函数解决思路

求解关于preg_replace函数
我想使用preg_replace函数把text里面的部分字符替换成图片
当我这样写时可以正常执行

<span style="background-color:#ededed"><span style="color:#555555">
$expression ="[email protected]/";
$reexpression ="呲牙";
$text=preg_replace($expression,'<img data-cke-saved-src="https://www.jcdi.cn/JavaScript/www.test.com/static/expression/'.$reexpression.'.gif" src="https://www.jcdi.cn/JavaScript/www.test.com/static/expression/'.$reexpression.'.gif" /> ',$text);</span></span>


可是当我改成数组后替换后图片的url都成了www.test.com/static/expression/Array.gif了

<span style="background-color:#ededed"><span style="color:#555555">
$expression =array("[email protected]/","[email protected]/","[email protected]/");
$reexpression =array("呲牙","鄙视","折磨");
$text=preg_replace($expression,'<img data-cke-saved-src="https://www.jcdi.cn/JavaScript/www.test.com/static/expression/'.$reexpression.'.gif" src="https://www.jcdi.cn/JavaScript/www.test.com/static/expression/'.$reexpression.'.gif" /> ',$text);</span></span>


我刚接触php,希望大家能帮忙看一下


------解决方案--------------------
在执行函数前会先计算出参数的值。因此也就是:
$replace = '';
$text = preg_replace($expression, $replace, $text);
// 由于 $reexpression 是个数组,因此数组和字符串相连就会是Array.gif

看你的需求,重新写一下:

 
<span style="color:#555555"><span style="background-color:#ffffff"><span style="background-color:#ededed">$text = [email protected],->@鄙视<-';
$reexpression =array("呲牙","鄙视","折磨");
// 希望你的程序最好以UTF-8编码,u修饰符的作用就是避免编码出现意外的混乱
$find = '#@('. join('
<span style="color:#FF8000">------解决方案--------------------</span>
', $reexpression) .')#u';
$replace = '<img data-cke-saved-src="https://www.jcdi.cn/JavaScript/www.test.com/static/expression/$1.gif" src="https://www.jcdi.cn/JavaScript/www.test.com/static/expression/$1.gif" alt="$1" />';
$text = preg_replace($find, $replace, $text);</span></span></span>

另外你的图片以中文命名,还需要注意可能在IE下产生的编码问题,导致图片加载404错误

附手册: http://php.net/preg-replace

文章来源:https://www.php.cn/faq/192465.html

百度网盘搜索
www.bdsoba.com
搜白度
www.sobd.cc
教程弟
www.jcdi.cn
搜码吧
www.somanba.cn
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值