導讀:CMS教程CMS教程通過二開新增的這個標簽可以實現按指定的字符進行遍歷,不填寫char參數默認使用逗號進行分割遍歷。如下圖: 圖中想把abcd用豎線進行分割,也可以使用逗號或其他自seo網站排名優化軟件網seo優化趨勢。
通過二開新增的這個標簽可以實現按指定的字符進行遍歷,不填寫char參數默認使用逗號進行分割遍歷。如下圖: 圖中想把abcd用豎線進行分割,也可以使用逗號或其他自定義符號 然后前臺用新增的標簽進行遍歷調用 {pboot:foreachstr={label:hotkey}char=|} ahref=/search/?keyword=[for建設網站公司each:name]target=_blankrel=nofollow[foreach:name]/a {/pboot:foreach} 修改步驟 1、打開\apps\ho […]
通過二開新增的這個標簽可以實現按指定的字符進行遍歷,不填寫char參數默認使用逗號進行分割遍歷。如下圖:
圖中想把abcd用豎線進行分割,也可以使用逗號或其他自定義符號


然后前臺用新增的標簽進行遍歷調用
{pboot:foreach str={label:hotkey} char=|}
<a href="/search/?keyword=[foreach:name]" target="_blank" rel="nofollow">[foreach:name]</a>
{/pboot:foreach}
修改步驟
1、打開\apps\home\controller\ParserController.php,搜索“$this->parserReplaceKeyword”,在其下方增加:
$content = $this->parserForeachLabel($content); // 指定隨意內容按條件遍歷 @pbhtml

2、繼續在之前文件里搜索“解析生成內容鏈接”,在其上方增加:
// 解析指定隨意內容遍歷,支持設定分隔符 @pbhtml
public function parserForeachLabel($content)
{
$pattern = '/\{pboot:foreach(\s+[^}]+)?\}([\s\S]*?)\{\/pboot:foreach\}/';
$pattern2 = '/\[foreach:([\w]+)(\s+[^]]+)?\]/';
if (preg_match_all($pattern, $content, $matches)) {
$count = count($matches[0]);
for ($i = 0; $i < $count; $i ++) {
// 獲取調節參數
$params = $this->parserParam($matches[1][$i]);
$str = '';
$char = ',';
if (! self::checkLabelLevel($params)) {
$content = str_replace($matches[0][$i], '', $content);
continue;
}
// 分離參數
foreach ($params as $key => $value) {
switch ($key) {
case 'num':
$num = $value;
break;
case 'str':
$str = $value;
break;
case 'char':
if ($value) $char = $value;
break;
}
}
// 無數據直接替換為空并跳過
if (! $str) {
&網站seo優化課程nbsp; $content = str_replace($matches[0][$i], '', $content);
continue;
}
// 匹配到內部標簽
if (preg_match_all($pattern2, $matches[2][$i], $matches2)) {
$count2 = count($matches2[0]); // 循環內的內容標簽數量
} else {
$count2 = 0;
}
$out_html = '';
$key = 1;
$arr = explode($char,$str);
foreach ($arr as $value) { // 按查詢圖片條數循環
$one_html = $matches[2][$i];
for ($j = 0; $j < $count2; $j ++) { // 循環替換數據
$params = $this->parserParam($matches2[2][$j]);
switch ($matches2[1][$j]) {
case 'n':
$one_html = str_replace($matches2[0][$j], $this->adjustLabelData($params, $key) - 1, $one_html);
break;
&nb個業網站建設公司sp; case 'i':
$one_html = str_replace($matches2[0][$j], $this->adjustLabelData($params, $key), $one_html);
break;
case 'name':
$one_html = str_replace($matches2[0][$j], $this->adjustLabelData($params, $value), $one_html);
break;
}
}
$key ++;
$out_html .= $one_html;
if (isset($num) && $key > $num) {
unset($num);
break;
}
}
$content = str_replace($matches[0][$i], $out_html, $content);
}
}
return $content;
}
關鍵詞標簽: 標簽 遍歷
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-25 ,文章pbootcms增加foreach標簽指定內容按條件遍歷CMS教程主要講述標簽,遍歷,pbootcms增加foreach標簽指定內容按網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_8200.html