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这个地址是我的地址,记得换哦。

时间: 2024-10-20 12:42:15

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

PHPCMS V9模板中的常用变量、碎片代码详解

前面是变量,后面是调用变量的解释 {pc:content action="position"posid="12" thumb="1" order="id desc"num="10"} 图片新闻 {pc:contentaction="lists" catid="$r[catid]" num="1"thumb="1" order=&

PHPCMS V9 采集实例

采集目标: 列表: http://www.cnys.com/zixun/list_2_2.html

phpcms V9 添加模块(转)

转自:http://www.cnblogs.com/Braveliu/p/5101345.html 为phpcms创建一个模块的开发流程 [1]创建模块目录 通过前面的学习,我们已经知道phpcms V9框架中的模块位于phcms/modules目录中,每一个目录称之为一个模块. 如果要创建一个模块,只要在 phpcms/modules 目录下创建文件夹并放入你的控制器类就可以了. 例如我要开发一个叫做test的模块,那么首先在 phpcms/modules 目录下创建文件夹,并将其命名为tes

phpcms(1)phpcms V9 MVC模式 与 URL访问解析(转)

[1]URL访问解析 观察访问网页时的网址,可以得出模块访问方法,如下示例: http://www.abcd.com.cn/phpcms/index.php?m=content&c=index&a=show&id=1 关于此URL解析如下: m = content 为模块/模型名称 位于phpcms/modules/content (必须项) c = index 为控制器名称 位于phpcms/modules/content/index.php (必须项) a = show 为事件

PHPCMS V9 模块开发 二次开发实例 留言本

鄙人实现了PHPCMS V9 产品开发权威指南(2011官方最新版).doc中的留言板实例,并加上模块安装和卸载功能, 程序可以运行,但只实现基本功能,目的是想让和我一样徘徊在PHPCMS门口不知道从哪儿进门的初学者走一下流程,欢迎指正! 对于像我这样的入门者希望先把上面这个文档仔细读一遍再往下看! 声明:我用的是GBK版本. 二次开发流程 创建数据库和数据库表(无数据库操作可略过) 创建数据模型文件 创建模块目录 开发控制器和模板 install和uninstall模块 一.创建数据库表 具体

phpcms v9中某些默认的文件路径

{IMG_PATH}v9  即wwwroot\statics\images\v9 {CSS_PATH}default_bule.css   即wwwroot\statics\css\default_bule.css m表示模块名wwwroot\phpcms\modules下的文件夹 c表示控制器名phpcms/modules/模块/*.php a表示事件名phpcms/modules/模块/*.php 中方法名称 phpcms v9中某些默认的文件路径,布布扣,bubuko.com

(转载)PHPCMS V9专题路径多了一个斜杠的解决办法

PHPCMSV9的专题,在设置生成静态并且网站的静态设置成生成在根目录的时候,专题路径的URL中会多出一个斜杠,如:http://www.2cto.com//special/ddos/ ,我只能说这是PHPCMS V9众多诡异的BUG中的一个.在PC论坛多个会员多次提起,但未见官方修复.今天花了大把的时间,最终找到问题所在并解决. 解决办法: 1 修改phpcms/modules/special/special.php 文件第43行: $url = $special['ishtml'] ? AP

(转载)phpcms v9两步实现专题栏目生成路径去掉html和special

相信很多人都知道,phpcms v9专题是不支持自定义URL的,生成的专题路径是以/HTML/special/开头的.那么如何实现专题栏目生成路径去掉html和special呢?通过修改程序的PHP源代码,可以实现这个要求. 将phpcms v9专题栏目路径中的html和special去掉,那么只需要二步就可以了. 首先,打开caches/configs/system.php ,第51行,将“/html” 换成“/” 然后,打开phpcms/modules/special/class/html.

phpcms v9中 action=&quot;position&quot; 和action=&quot;lists&quot;有什么区别, 以及action 的属性和值

action值的含义: lists 内容数据(文章?)列表 relation 内容相关文章 hits 内容数据点击排行榜 category 内容栏目列表 position 内容推荐位列表 phpcms v9中 action="position" 和action="lists"有什么区别, 以及action 的属性和值,布布扣,bubuko.com