1、找到phpcms\libs\functions\extention.func.php添加去除外链函数
2、找到文件phpcms\model\content_model.class.php找到代码:
- //去除外链
- function clear_links($str){
- if(!$str) return $str;
- $sitelist = getcache('sitelist','commons');
- $siteid = get_siteid();
- $host = $sitelist[$siteid]['domain'];
- $parts = parse_url($host);
- $domain = $parts['host'];
- $domain_rule = str_replace('.', "\\.", $domain);
- preg_match_all("#<a([^>]*)>(.*)<\/a>#iU", $str, $arr);
- if (is_array($arr[0])) {
- $rparr = array();
- $tgarr = array();
- foreach ($arr[0] as $i => $v) {
- if ($domain != '' && preg_match('#' . $domain_rule . '#i', $arr[1][$i])) {
- continue;
- } else {
- $rparr[] = $v;
- $tgarr[] = $arr[2][$i];
- }
- }
- if (!empty($rparr)) {
- $str = str_replace($rparr, $tgarr, $str);
- }
- }
- return $str;
- }
第一处(解决添加文章的时候)
在这前面加入代码:
- //附属表
- $this->table_name = $this->table_name.'_data';
- $this->insert($modelinfo);
第二处(解决编辑文章的时候)
- // 去掉外链
- if(isset($modelinfo['content']) && !empty($modelinfo['content'])){
- $modelinfo['content'] = clear_links($modelinfo['content']);
- }
找到代码:
在这前面添加代码:
- //附属表
- $this->table_name = $this->table_name.'_data';
- $this->update($modelinfo,array('id'=>$id));
3、如果是采集需要去掉外链的话则按照如下方法
- // 去掉外链
- if(isset($modelinfo['content']) && !empty($modelinfo['content'])){
- $modelinfo['content'] = clear_links($modelinfo['content']);
- }
找到代码phpcms\modules\collection\node.php找到代码
在下边新增代码
- $content = $v['data']['content'];
- $content = str_replace("'",'',$content);
4、如果是历史内容,不想一个一个的去处理,可以按照如下方法
- $content = clear_links($content);
找到代码phpcms\modules\content\index.php找到show方法,找到代码:
在前面新增代码:
- extract($data);
- // 去掉外链
- if(isset($data['content']) && !empty($data['content'])){
- $data['content'] = clear_links($data['content']);
- }
欢迎反馈bug
文章点评