論壇局限公布帶鏈接帖子的一些代碼
作者:佚名 來源:本站 時間:2018-08-26 點擊:62次
限制較低等級的會員不能發布帶鏈接的帖子(如:新手上路等級的會員不能發),也就是禁用Discuz!代碼中的 [url]...[/url] 標簽。出于對論壇 SEO 的考慮,同時也為了更好地抑制‘垃圾’帖子對論壇的影響。
由于 [url] 是論壇內置的Discuz!代碼,可以禁止某個等級的會員或某個版塊不能使用Discuz!代碼,但同時會禁止掉其他一些有用的部分,如 [img] 等。
從原理上講,只要判斷該用戶的等級為新手上路,在發布、編輯、回復帖子時將 [url] 標簽全部過濾掉就能很好地達到目的。同時,以前已經發布的帶鏈接的帖子只要在顯示之前根據當前會員等級判斷是否過濾掉鏈接即可(實際上應該判斷發帖的會員 的等級來確定是否應該過濾鏈接,沒有追求這么完美,也沒必要)。下面是操作步驟。
限制游客和新手上路等級會員發布帶鏈接的帖子:
打開論壇根目錄 post.php 文件,查找:
$message = isset($message) ? censor(trim($message)) : ''; 在下面添加代碼:
//Fufu_if groupid==10 or guest not support: [url]...[/url] if((intval($groupid) == 10 || intval($groupid) == 7) && strpos($message, '[/url]') !== FALSE) { $message = preg_replace("/[url(=((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|ed2k|thunder|synacast){1}://|www.)([^["']+?))?](.+?)[/url]/ies", '', $message); } //Fufu_end 作用是判斷當前用戶等級是否為新手上路(10)或游客(7),并且在帖子內容中包含 [/url] 標簽,那么就替換 [url]...[/url] 內容為空。
禁止游客及新手上路等級會員瀏覽包含鏈接的舊帖:
打開論壇目錄 /include/discuzcode.func.php 文件,查找:
function parseurl($url, $text) { 在下面添加:
//Fufu_if groupid==10 or guest not support: [url]...[/url] global $groupid; if(intval($groupid) == 10 || intval($groupid) == 7) { return ''; } //Fufu_end 作用是讓新進的會員和游客看到論壇相對整潔,為搜索引擎屏蔽帖子中的鏈接。
我是在 Discuz! 7 中修改的,其他版本作參考,修改前備份原文件。
- 上一篇: 最新域名選擇技巧
- 下一篇: 網站收錄越來越多 只需五個步驟