传统的PC管理后台一般保存的都是图片路径,随着移动端APP的流行,很多平台需要增加API接口。这时发现图片路径并不能被远程读取,下面提供图片路径转换为URL地址的方法:/**

* 替换fckedit中的图片 添加域名

* @param  string $content 要替换的内容

* @param  string $strUrl 内容中图片要加的域名

* @return string

* @eg

*/

function replacePicUrl($content = null, $strUrl = null) {

if ($strUrl) {

//提取图片路径的src的正则表达式 并把结果存入$matches中

preg_match_all("/]+>/isU",$content,$matches);

$img = "";

if(!empty($matches)) {

//注意,上面的正则表达式说明src的值是放在数组的第三个中

$img = $matches[2];

}else {

$img = "";

}

if (!empty($img)) {

$patterns= array();

$replacements = array();

foreach($img as $imgItem){

$final_imgUrl = $strUrl.$imgItem;

$replacements[] = $final_imgUrl;

$img_new = "/".preg_replace("/\//i","\/",$imgItem)."/";

$patterns[] = $img_new;

}

//让数组按照key来排序

ksort($patterns);

ksort($replacements);

//替换内容

$vote_content = preg_replace($patterns, $replacements, $content);

return $vote_content;

}else {

return $content;

}

} else {

return $content;

}

}

上面是网上提供的方法,已经接近完美,但唯一的遗憾时不能判断图片地址是否包含域名,也就是说不管图片地址包不包含域名都添加域名,因此把$final_imgUrl = $imgItem;

替换为如下代码:if(!filter_var($imgItem, FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED)){

$final_imgUrl = $strUrl.$imgItem;

}else{

$final_imgUrl = $imgItem;

}

道理很简单,用filter_var函数通过FILTER_VALIDATE_URL过滤器过滤变量。最后达到的效果是:图片地址包含域名则添加域名、不包含域名则不处理。

php 将内容中的图片的域名,php给编辑器中的图片地址添加域名相关推荐

  1. C++:MFC+VS2019当你Dlg右键“转到”对话框,提示“未能完成操作,拒绝访问”,资源视图中.re显示“X在另一个编辑器中打开”。

    一.错误现象: 在类视图里面的Dlg,右键"转到"对话框,提示"未能完成操作,拒绝访问" 提示: 在资源视图里面,.re显示"在另一个编辑器中打开&q ...

  2. 如何在大多数文字编辑器中(包括word和一些程序编辑器中)不要使用鼠标(即用快捷键)复制上一行到下一行

    用上箭头键使光标到上一行的开头,然后按SHIFT+END键,再按CTRL+C ,然后按下箭头到下一行开头,按CTRL+V,这是复制一行,要是多行就按SHIFT+PAGEDOWN选中.后面一样.

  3. 域名使用cname方式跳转不到新域名_七牛云图床和Markdown使用

    1.图床是什么? 图床一般是指储存图片的服务器,有国内和国外之分.国外的图床由于有空间距离等因素决定访问速度很慢影响图片显示速度.国内也分为单线空间.多线空间和cdn加速三种.来自百度百科 2.为什么 ...

  4. wangEditor 实现ctrl+v粘贴图片并上传、word粘贴带图片

    在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper. 通过知乎提供的思路找到粘贴的原理,通过TheViper找 ...

  5. PyCharm入门教程——在编辑器中使用拖放

    PyCharm最新版本下载 JetBrains PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具.此外,该IDE提供了一些高级功能,以用于 ...

  6. cocos creator 判断双击_Creator | 编辑器中可操作顶点的多边形遮罩

    感谢群内大佬 honmono 的分享,也欢迎同学们入群交流 QQ群:521643513 Mac 下 cocos 引擎源码位于 CocosCreator.app/Contents/Resources/e ...

  7. 文本编辑器中实现自动换行的功能

    文章目录 1 文本编辑器中实现自动换行的功能 1 文本编辑器中实现自动换行的功能 实现思路: 获取当前文本编辑框的换行模式. 将模式进行反转后并进行设置. 更新对应QAction对象的状态. 槽函数的 ...

  8. php 匹配图片加上域名,20170321_正则表达式:匹配图片地址,添加域名

    20170321_正则表达式:匹配图片地址,添加域名 // 匹配图片地址,添加域名 $suffix = env('PCURL').'Public/'; $pregRule = "//&quo ...

  9. wangEditor粘贴word里图文内容到编辑器中

    百度ueditor新增的将word内容导入到富文本编辑框的功能怎么没有啊,... ueditor实现word文档的导入和下载功能的方法:1.UEditor没有提供word的导入功能,只能说是粘贴复制. ...

最新文章

  1. CSS实现英文或拼音单词首字母大写
  2. ST17H26 SDK中宏定义注意事项
  3. 专家周 |360精确搜索VS今日头条精准推荐算法
  4. mysql 1046 3d000_老师 出现ERROR 1046(3D000): No Database Selected怎么办
  5. C# 6.0语法新特性体验(二)
  6. 剥开比原看代码15:比原是如何转帐的
  7. python第六篇文件处理类型
  8. 随机森林(独立思考的重要性)
  9. Simbad的使用--检索、导入、保存
  10. 1.4. network
  11. 招聘笔试行测题之图形推理题解题思路汇总
  12. 有哪些需要不得不知的ASO的两种优化技巧
  13. QT跨平台使用libvlc播放视频
  14. 贴片铝电容识别及型号_如何识别各种材质贴片电容
  15. 计算机学院嘉年华标题,“芯动盛夏 AI创南航” 计算机学院举办第八届计算机嘉年华...
  16. 第二十九章 OOTV杯超级模式大赛-模式总结(读书笔记)
  17. 锂离子电池健康状态估计简介(一):基于Python的数据处理计算SOH,RUL,CCCT,CVCT
  18. HTML5(李炎恢)学习笔记四 ------------- HTML5元素(中)
  19. IPhone (是iPhone系列中的第一代)
  20. 新版标准日本语高级_第24课

热门文章

  1. IDC_EDIT控件输入数字改变IDC_SCROLLBAR滑块位置
  2. 结对第2次作业——WordCount进阶需求
  3. 强悍的远程桌面管理器
  4. TrackID识别音乐的应用不能用了
  5. 多态实现机制:静态分派和动态分派
  6. Linux查看文件编码格式及文件编码转换
  7. 每天一个linux命令(9):touch命令
  8. jQuery中的动画
  9. centos6.5搭建lnmp环境
  10. NGUI 学习笔记实战——制作商城UI界面