首页>帮助>新手帮助>开发手册>帝国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;
}
上一篇:
宝塔开启ssi教程
下一篇:
帝国CMS设置百度与头条的时间因子方法
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
在线咨询
站长

(工作日 10:00 - 22:30 为您服务)

2026-07-08 11:50:18

您好,无论是售前、售后、意见建议……均可通过联系工单与我们取得联系。

猜你想问:

  • 购买的模板免费包安装吗?

  • 这个演示地址有吗?

  • 购买vip会员可以下载哪些模板?

您的留言我们已经收到,我们将会尽快跟您联系!
取消
立即选择任一渠道联系我们