织梦会员中心发布文章自动过滤外部外部链接,保留本站站内链接。这个织梦默认后台本身带有这样的功能的,只是会员模块里没有而已。
(此图片来源于网络,如有侵权,请联系删除! )
我们可以把功能嫁接到会员模块里去使用,实现自动过滤外部链接
实现教程
打开 /member/inc/inc_archives_functions.php 在文件的最下面插件
05 | * @param string $body 内容 |
06 | * @param array $allow_urls 允许的超链接 |
09 | function Replace_Links( &$body, $allow_urls=array() ) |
11 | $host_rule = join ( '|' , $allow_urls); |
12 | $host_rule = preg_replace( "#[\n\r]#" , '' , $host_rule); |
13 | $host_rule = str_replace( '.' , "\\." , $host_rule); |
14 | $host_rule = str_replace( '/' , "\\/" , $host_rule); |
16 | preg_match_all( "#<a([^>]*)>(.*)<\/a>#iU" , $body, $arr); |
17 | if ( is_array($arr[0]) ) |
21 | foreach($arr[0] as $i=>$ v ) |
23 | if ( $host_rule != '' && preg_match( '#' .$host_rule. '#i' , $arr[1][$i]) ) |
28 | $tgarr[] = $arr[2][$i]; |
33 | $body = str_replace($rparr, $tgarr, $body); |
36 | $arr = $rparr = $tgarr = '' ; |
|
继续在这个文件中找到,大概在329行
//自动摘要
在它上面加入
2 | $allow_urls = array($_SERVER[ 'HTTP_HOST' ]); |
4 | if (file_exists(DEDEDATA. "/admin/allowurl.txt" )) |
6 | $allow_urls = array_merge($allow_urls, file (DEDEDATA. "/admin/allowurl.txt" )); |
8 | $body = Replace_Links($body, $allow_urls); |
|
如图
(此图片来源于网络,如有侵权,请联系删除! )
完成