风华合伙人 -20260410
手机扫一扫继续看
// 自动内链函数(安全版,不会导致简介消失) function auto_internal_link($content, $max_links = 2) { if (empty($content)) return $content; // 避免重复替换 if (strpos($content, 'data-auto-link="true"') !== false) return $content; // 从数据库获取关键词(使用缓存) $links = cache('internal_links'); if (empty($links)) { $links = \think\Db::query("SELECT keyword, link_url FROM mac_internal_link WHERE status=1 ORDER BY CHAR_LENGTH(keyword) DESC"); if (!empty($links)) cache('internal_links', $links, 3600); } if (empty($links)) return $content; $replace_count = 0; foreach ($links as $item) { if ($replace_count >= $max_links) break; $keyword = $item['keyword']; $url = $item['link_url']; // 只替换不在标签内的关键词 $pattern = '/(' . preg_quote($keyword, '/') . ')(?![^<]*>|[^<>]*<\/a>)/u'; $content = preg_replace($pattern, '$1', $content, 1); if ($content !== null && strpos($content, 'data-auto-link="true"') !== false) $replace_count++; } return $content; } // 重写 mac_filter_html 函数,集成内链 function mac_filter_html($str) { $str = strip_tags($str); if (function_exists('auto_internal_link')) { $str = auto_internal_link($str); } return $str; } ?>
风华合伙人 -20260410
手机扫一扫继续看