💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
问:只在标题跟第一段之间插入图片还比较简单,如何在文章内容里面插入多个图片呢? 回答:先看教程 [织梦集成教程](%E7%BB%87%E6%A2%A6%E9%9B%86%E6%88%90%E6%95%99%E7%A8%8B.md) [帝国集成教程](%E5%B8%9D%E5%9B%BD%E9%9B%86%E6%88%90%E6%95%99%E7%A8%8B.md) [zBlog集成教程](zBlog%E9%9B%86%E6%88%90%E6%95%99%E7%A8%8B.md) [WordPress集成](WordPress%E9%9B%86%E6%88%90.md) > 这个需要一点编程基础,思路大体如下: > 1、 分析内容的结构,找出h2 或者p 段落 > 2、在h2 之后或者 p段落之前,插入码迷图床图片 ## 代码伪程序示例1 程序依赖:https://github.com/Imangazaliev/DiDOM ~~~ use DiDom\Document; use DiDom\Element; $document = new Document(); $document->loadHtml($文章内容); #查找所有p标签 $hgroups = $document->find('p'); foreach ($hgroups as $hk => $hgroup) { $len = mb_strlen($hgroup->text()); # 如果段落文字够长,每三段插入一张图片 if ($len > 30 && $hk % 3 == 2) { $item = new Element('img', '', ['src' => "https://图床地址/标题_".$hk.".jpg" ]); $hgroup->appendChild($item); } } $html = $document->html(); $html = str_replace('<html><body>', '', str_replace('</body></html>', '', $html)); ~~~ ## 代码伪程序示例2 ``` ~~~ /*** * 自动配图 * @use $html = insertImgs($html,$title,"http://gen.mamioo.com/test/600/",3); * @param $html 文章内容 * @param $title 文章标题 * @param $tuchuang_url 图床路径 * @param $num 图片数量 * @return string|string[] */ function insertImgs($html, $title, $tuchuang_url, $num = 3) { $split_tag = "</p>"; $html = str_replace("<br />", "<br>", $html); $html = str_replace("<br/>", "<br>", $html); $htmlarr = preg_split("%$split_tag%ui", $html); $p_num = count($htmlarr); if ($p_num < $num * 3) { $split_tag = "<br>"; $htmlarr = preg_split("%$split_tag%ui", $html); } $p_num = count($htmlarr); $p_inter = floor($p_num / $num); $imgarr = preg_split("%<img%ui", $html); $img_num = count($imgarr); $html_out = [ '<p style="text-align:center"><img src="' . $tuchuang_url . $title . '__.jpg"/></p>', ]; if ($p_inter > 1 && $num > 1) { foreach ($htmlarr as $i => $item) { if (($i + 1) % $p_inter == 0 && $img_num < $num) { $img_num++; $html_out[] = '<p style="text-align:center"><img src="' . $tuchuang_url . $title . '__' . $i . '.jpg"/></p>'; } else { $html_out[] = $item; } } }else{ $split_tag = ""; $html_out[] = $html; } $html = str_replace("</p></p>", "</p>", implode($split_tag, $html_out)); return $html; } ~~~ ```