设为首页收藏本站

爱飞SEO软件 -- 助站长腾飞!!!

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

从这里开始1.注册账号-->2.下载软件-->3.查看教程-->4.求助咨询 免费使用全部功能 官方qq群:爱飞seo软件交流

搜索
查看: 1958|回复: 2

[教程] 爱飞软件 p语言 入门及示例

[复制链接]

64

主题

975

好友

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

签到天数: 31 天

[LV.5]常住居民I

151****1798

社区QQ达人 宣传达人

发表于 2012-11-14 16:42:07 |显示全部楼层
p语言是什么
  爱飞软件内置了p语言解释器,p语言是针对HTML代码专门研发的一种编程语言,语法类似于c语言,区别在于,爱飞软件预置或自动配置大部分HTML常用变量,用户只需编写数行代码,即可获取并返回相应的值给软件调用,从而实现相关的功能。

p语言能做什么
  当爱飞软件预置的功能无法快速解决问题时,可以尝试使用p语言。
p语言可以按照用户想法,实现绝大部分功能:如处理方案的精细化设定,标题整理、正文格式整理、判断过滤等,增加规则的灵活性等。

p语言的基本语法
1.语法入口:主要在大括号之内书写代码,一行一句
  1. void main(void)
  2. {
  3. }
复制代码
2.定义局部变量:局部变量只在大括号之内传递、生效,不会传递给之后的处理过程
  1. void main(void)
  2. {
  3. int tem;                          // 定义tem为整数型局部变量
  4. cstr tep;                         //定义tep为字符型局部变量
  5. }
复制代码
3.定义全局变量:在一个采集发布循环中有效,即可以传递给后面的处理过程,但是不会无限制传递,如果需稳定传递出去,须使用内存存储
  1. int tem1;                          // 定义tem1为整数型全局变量
  2. cstr tep1;                         //定义tep1为字符型全局变量
  3. void main(void)
  4. {
  5. }
复制代码
4.注释方法:为了便于阅读理解,可以给语句加上注释,注释的语句不会被执行,也可用来屏蔽代码便于调试
  1. //双斜杠表示单行注释(即双斜杠后面的语句不执行)
  2. /*   
  3. 斜杠+星号表示开始
  4. 多行注释,可用来屏蔽数行代码并调试
  5. 星号+斜杠表示结束
  6. */
复制代码
5.调试方法
p语法检查按钮:用来快速判断是否有代码书写错误,如英文字符写成中文字符
函数:msgbox(变量等),执行过程中,弹出显示相应的变量值,便于观察执行是否出错
函数:print(变量等),执行过程中,在信息栏显示相应的变量值

6.赋值和函数用法:一行一句,每句结尾需使用英文分号
  1. void main(void)
  2. {
  3. cstr url, name;   //多个变量可以用逗号分开,变量前后的空格可以方便阅读,不会影响代码执行
  4. int i;
  5. url = “http://www.aifaces.org”;    //给字符变量url赋值,注意字符两边要用 英文双引号
  6. i = 1;         //给数值变量 i 赋值,数值不需要用双引号,字符型变量可以通过运算转换成数值型
  7. name = strbetween(cstr html , cstr left , cstr right , int start , int inc);    //截取字符函数--strbetween(处理变量, 左边界字符, 右边界字符, 从处理变量中的开始位置, 是否包含左右边界字符 1为包含 0为不包含)
  8. ……
  9. }
复制代码
7.三个需要转义的字符 '  "  \  这三个字符是系统保留字符,赋值字符类型遇到需要多加反斜杠来进行转义,如:
  1. name="it\'s \"s\"" ; // 表示给name赋值 it's "s"
复制代码
8.布尔运算
  1. == 等于(数值的判断,并非赋值)
  2. != 不等于
  3. >  大于
  4. >= 大于登录
  5. <  小于
  6. <= 小于等于
  7. (布尔值)||(布尔值)  ||是逻辑“或”运算符,两个布尔值中任何一个值为TRUE(或者两个都为TRUE),那么他就返回TRUE。如果两个运算符都是FALSE,则返回FALSE。
  8. (布尔值)&&(布尔值) &&是逻辑“与”运算符,逻辑操作符,也叫条件操作符,两个布尔值中任何一个值为FALSE(或者两个都为FALSE),那么他就返回FLASE。如果两个运算符都是TRUE,则返回TRUE。
复制代码
9.判断函数if的用法,不支持嵌套
简化用法:
  1. if(判断条件)//本句结尾无分号,只执行下面一句
  2. a;//执行a
复制代码
完整写法:
  1. if(判断条件)//本句结尾无分号,执行下面一对大括号之内代码
  2. {
  3. a;//执行a
  4. return;//返回
  5. }
  6. else//如果判断条件为否
  7. {
  8. b;//执行b
  9. }
复制代码
10.循环判断函数while的用法,判断循环,可以嵌套 if
  1. while(a > b)//如果a大于b,则执行(利用下面的a-1,来控制多重循环执行次数,如果书写错误易造成死循环)
  2. {
  3. xxx;//执行xxx
  4. a = a - 1;//a减去1,之后继续从while执行,直到 a小于等于b
  5. }
复制代码
p语言的书写位置
  1.规则--“标签处理”:处理标签中p语言,可用来处理html代码
  2.处理方案--p2:处理采集各过程的变量


p语言的示例

1.处理方案--p2 发布前p处理:增加标题后缀
  1. void main(void)
  2. {
  3. $m_ntitle=$m_ntitle+"标题后缀";   //增加标题后缀
  4. }
复制代码
2.处理方案--p2 发布前p处理:随机设置主题分类
  1. void main(void)
  2. {
  3. int i;
  4. i=rand(3,1); //在1-3取随机数,当随机到某个数字的时候,给分类赋值
  5. if(i==1)        //如果 i 等于1
  6. $m_ntype="上海";//主题分类设置为 上海
  7. if(i==2)
  8. $m_ntype="北京";
  9. if(i==3)
  10. $m_ntype="南京";
  11. }
复制代码
2.处理方案--p2 发布前p处理:自动判断并设置主题分类,比如影视主题重新分类
  1. void main(void)
  2. {
  3. if(strfind($m_ntitle,"欧美")>=0)//如果标题内搜索到 欧美 字符,即包含字符 欧美
  4. $m_ntype="欧美";                    //主题分类设置为欧美
  5. if(strfind($m_ntitle,"日韩")>=0)
  6. $m_ntype="日韩";
  7. if(strfind($m_ntitle,"港台")>=0)
  8. $m_ntype="港台";
  9. }
复制代码
3.处理方案--p2 发布前p处理,或采集规则--正文--正则过滤--p处理:删除文章中多余空行
  1. void main(void)
  2. {
  3. $m_ncontent= paradelete($m_ncontent,0-1);//删除所有空行,0-1表示-1,负数目前需用表达式表示
  4. }
复制代码
4.列表采集规则--有效区域-p处理:判断有效区域的范围,过滤置顶贴
  1. void main(void)
  2. {
  3. if(strfind($m_html,">版块主题")>0)//如果源代码内包含字符“>版块主题”
  4. $m_return=strbetween($m_html,">版块主题","</body>",0,0);//$m_return为返回给软件的值,将有效区域限定为从 >版块主题 到源码结束标志</body>
  5. }
复制代码
5.处理方案--p2 发布前p处理,或采集规则--正文--正则过滤--p处理:增加图片前后空行
  1. void main(void)
  2. {
  3. $m_ncontent=regexrep($m_ncontent,"(\\[img.*?/img\\])","
  4. $1
  5. "); //分号为一句语句结束标志,利用正则在图片代码前后增加空行
  6. }
复制代码
6.采集规则--正文下一页--正则过滤--p语言:判断下一页是否包含下划线,不包含则不是本文下一页,防止翻页过头
  1. void main(void)
  2. {
  3. if(strfind($m_pageurl,"_")<0)//如果下一页网址中不包含字符下划线
  4. $m_return="";    //则将下一页网址置空
  5. }
复制代码
7.采集规则--正文--获取内容--p语言:有时候网页会有隐藏代码,需要去掉后,才能获取所有内容
  1. void main(void)
  2. {
  3. $m_ncontent=strreplace($m_ncontent,"style=\"display:none;\"","");//将正文代码中的 style="displasy:none;" 代码删除(置空)
  4. }
复制代码
踩过的脚印
已有 1 人评分铜钱 收起 理由
系统奖励 + 1 发帖收益,回帖人越多收益越高

总评分: 铜钱 + 1   查看全部评分

回复

使用道具 举报

48

主题

0

好友

2052

积分

禁止发言

签到天数: 43 天

[LV.5]常住居民I

183****3575

发表于 2012-11-15 17:08:09 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

0

主题

1

好友

83

积分

新手上路

Rank: 1

签到天数: 4 天

[LV.2]偶尔看看I

发表于 2013-1-31 16:23:19 |显示全部楼层
不知道P语言有没有视频和实例的教程啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

在线客服
视频演示
我的任务

申请友链|手机版|百度|爱飞科技 ( 苏ICP备12032809号 )  

GMT+8, 2020-9-22 10:21 , Processed in 0.229385 second(s), 42 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

更多