联系官方销售客服

1835022288

028-61286886

求助 版主:官方研发技术组
想实现把文章里的图片为绝对路径,又同时去除img中的style
类型:迅睿CMS 更新时间:2021-12-03 15:10:22

想实现把文章里的图片为绝对路径,又同时去除img中的style。求大神帮忙!


{php echo preg_replace('/(<img.*?)(style=.+?[\'|"])/i','$1',$content);}   这个是去除img里的style

{php echo preg_replace('/<img.*?src=[\"|\']?(.*?)[\"|\']?\s.*?>/i',"<img src=\"".SITE_URL."$1\">", $content);}  这个是图片替换为绝对路径


以上两个表达式单独放一个都没啥问题,但两个放一块就只能实现一个功能,有大神知道如何同时实现以上两个功能吗?表达式应该怎么写?




回帖
  • 新手上路
    #1楼    新手上路
    2021-12-03 11:24:18
    Chrome 0
    在这个字段,的数据验证里有个过滤函数,你把上面的写成函数调用一下就好了参考文档:《自定义过滤函数》
  • 官方研发技术-袁老师
    #2楼    官方研发技术-袁老师
    2021-12-03 11:24:43
    Chrome 0
    {php $content = preg_replace('/(<img.*?)(style=.+?[\'|"])/i','$1',$content);}
    {php echo preg_replace('/<img.*?src=[\"|\']?(.*?)[\"|\']?\s.*?>/i',"<img src=\"".SITE_URL."$1\">", $content);}
    这是php基础语法
    满意答案
  • LandQ
    #3楼    LandQ
    2021-12-03 14:07:27
    Chrome 0
    1、打开 config/custom.php 添加自定义函数/* * 文档内容-图片去宽高自适应-图片绝对路径 * @param string $body * @return string 返回内容 */if(!function_exists('resetBody')){ function resetBody($body) { $search = '/(<img.*?)width=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is'; $search1 = '/(<img.*?)height=(["\'])?.*?(?(2)\2|\s)([^>]+>)/is'; $search2 = '#(<img.*?style=".*?)width:\s{0,}\d+px;([^"]*?.*?>)#i'; $search3 = '#(<img.*?style=".*?)height:\s{0,}\d+px;([^"]*?.*?>)#i'; $content = preg_replace($search, '$1$3', $body); $content = preg_replace($search1, '$1$3', $content); $content = preg_replace($search2, '$1$2', $content); $content = preg_replace($search3, '$1$2', $content); $result = str_replace('/uploads/', SITE_URL . '/uploads/', $content); return $result; }}2、模板调用文档内容标签{$content}改成{resetBody($content)}
  • 花间露
    #4楼    花间露
    2021-12-03 15:10:22
    Chrome 0
    @官方研发技术-袁老师:厉害了我的哥,服务到位。技术过硬!