代理加盟 2025全新代理计划,一站式模板建站 → 查看!>>>
首页>帮助>开发手册>帝国CMS:Tag自动关联内容,并同步内容锚文本教程

帝国CMS:Tag自动关联内容,并同步内容锚文本教程

帝国CMS:Tag自动关联内容,并同步内容锚文本教程 - 我爱模板网

 

//TAG自动关联当前关键词
function tihuanmuban($id) {
global $empire, $dbtbpre, $public_r, $class_r;

// 获取新闻的基本信息和内容
$tagr = $empire->fetch1("select id, classid from {$dbtbpre}ecms_news where id='$id' limit 1");
$f = $empire->fetch1("select newstext from {$dbtbpre}ecms_news_data_1 where id='$id' limit 1");
$newstext = $f['newstext'];

// 获取新闻的标签ID
$sql = $empire->query("select tagid from {$dbtbpre}enewstagsdata where id=".$tagr['id']." and classid=".$tagr['classid']."");

// 用于存储已处理的标签ID,确保不重复替换
$processedTagIds = [];

while ($td = $empire->fetch($sql)) {
$tr = $empire->fetch1("select * from {$dbtbpre}enewstags where tagid=".$td['tagid']." limit 1");
if ($tr['tagid'] && !in_array($tr['tagid'], $processedTagIds)) {
$processedTagIds[] = $tr['tagid']; // 标记为已处理

$tagurl = dp_itagLink($td['tagid']);

// 使用回调函数和正则表达式实现只替换一次
$newstext = preg_replace_callback(
'/('.preg_quote($tr['tagname'], '/').')(?!([^<]*>)|([^<]*<\/a>))/i',
function ($matches) use ($tagurl) {
return '<a href="'.$tagurl.'" target="_blank" style="color: #ff6a00;">'.$matches[1].'</a>';
},
$newstext,
1 // 这里的1表示只替换一次
);
}
}

return $newstext;
}
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
搜索