phpcms v9采集中遇到的相对路径的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了phpcms v9采集中遇到的相对路径的问题相关的知识,希望对你有一定的参考价值。

一、采集网址时,遇上网址是相对路径的问题。(网上抄的,可用)

修改数据库v9_collection_node,增加两个字段replace_from,replace_to(varchar(200)) 

1、 /phpcms/modules/collection/templates/node_form.tpl.php第99行后增加(位置在</table></fieldset>之前) 

<tr> 

<td width="120">网址替换:</td> 

<td> 

<input type="text" name="data[replace_from]" style="width:250px" value="<?php if(isset($data[‘replace_from‘])) echo $data[‘replace_from‘]?>"/>替换为 

<input type="text" name="data[replace_to]" style="width:250px" value="<?php if(isset($data[‘replace_to‘])) echo $data[‘replace_to‘]?>"/> 

</td> 

</tr> 

2、 /phpcms/modules/collection/classes/collection.class.php第177行后增加(位置在:$html = str_replace(array("</a>", "</A>"), "</a> ", $html);之后) 

if(!empty($config[‘replace_from‘])){ 

$html = str_replace($config[‘replace_from‘], $config[‘replace_to‘], $html);} 

3、 进入数据库给 数据库名_collection_node 增加字段:replace_from 和 replace_to 两个字段。字数50-100都可以。 

然后在采集管理中我们能看到有替换网址的选项啦。将多余的../之类的替换掉就行了。


二、采集内容页中包含相对路径的问题。(原创)

修改phpcms/modules/collection/classes/collection.class.php中get_content方法

在return $data;前面加入2行代码

$data=str_replace(‘./‘,‘‘,$data);//这句把所有./去掉

$data=str_replace(‘http://qxj.nanjing.gov.cn/xwzx/qxyw_1‘,dirname($url),$data);

//这句把错误的地址替换为正确地址。其中http://qxj.nanjing.gov.cn/xwzx/qxyw_1这个地址是我的地址,记得换哦。


以上是关于phpcms v9采集中遇到的相对路径的问题的主要内容,如果未能解决你的问题,请参考以下文章

Phpcms V9手机门户设置教程:怎么用PC V9做手机网站

phpcms v9 手机站怎么设置静态路径

phpcms v9前台getshell

PHPCMS v9更换域名 图片路径不正确解决办法

PHPCMS V9 学习总结(转)

phpcms v9 栏目首页如何生成到根目录?