CodeAE 发表于 2023-3-19 15:35:39

解决编辑器图片插入多次但发布后只显示一次问题

在编辑器中上传一张图片,插入多次后编辑器里会显示多次,但发布后帖子里只显示一次!

需要修改的文件:source/function/function_attachment.php
查找以下代码一般在166~169行:
foreach($findattach[$pid] as $aid => $find) {
       $postlist[$pid]['message'] = preg_replace($find, attachinpost($postlist[$pid]['attachments'][$aid], $postlist[$pid]), $postlist[$pid]['message'], 1);
       $postlist[$pid]['message'] = preg_replace($find, '', $postlist[$pid]['message']);
}替换成:
foreach($findattach[$pid] as $aid => $find) {
         //$postlist[$pid]['message'] = preg_replace($find, attachinpost($postlist[$pid]['attachments'][$aid], $postlist[$pid]), $postlist[$pid]['message'], 1);
      //$postlist[$pid]['message'] = preg_replace($find, '', $postlist[$pid]['message']);

      preg_match_all($find, $postlist[$pid]['message'], $sameattach);
      foreach($sameattach as $key => $value){
                $tempattach = $postlist[$pid]['attachments'][$aid]['aid'];
               if(count($sameattach) > 1 && $key > 0) {
                        $postlist[$pid]['attachments'][$aid]['aid'] = $postlist[$pid]['attachments'][$aid]['aid'].'_'.$key;
                        $GLOBALS['aimgs'][$pid][] = $postlist[$pid]['attachments'][$aid]['aid'];
               }
               $postlist[$pid]['message'] = preg_replace($find, attachinpost($postlist[$pid]['attachments'][$aid], $postlist[$pid]), $postlist[$pid]['message'], 1);
               $postlist[$pid]['attachments'][$aid]['aid'] = $tempattach;
      }
}通过以上方法我们可以多次凋用同一张图片在不同的地方,比如一些常用的分割线。

https://www.dismall.com/thread-2233-1-1.html
页: [1]
查看完整版本: 解决编辑器图片插入多次但发布后只显示一次问题