PHP168:采集参数用到的正则语法讲解

来自站长百科
跳转至: 导航、​ 搜索

导航: 上一级 | PHP168 | 首页 | DedeCMS | 帝国CMS | Drupal | PHPCMS | Xoops | Joomla | PowerEasy | SupeSite

所用的正则语法,目的就是实现通配符的

它的语法规则是

{变量名=NO符号}
{变量名=*}
{NO符号}
{*}

第一种与第三种一般用到标题的正则规则那里,第二种与第四种一般用到内容的正则规则那里.

  • 对于第一种而言,比如
    {url=NO"}
    代表的意思是,文章内容的网址是不能包括"双引号的.而凭什么就写"双引号,不写其它符号呢?这还得查看一下被采集网站的列表页的源代码,看一下任意一篇的文章地址右边的是什么符号,如果是'单引号的话就输入'单引号,如果都不是的话.是空格的话.就输入空格.如果是>大于号的话.就输入>大于号.以此类推.遵循的原则就是靠近右边原则.
  • 对于第二种,比如
    {cotent=*}

    *号代表的意思是,任意字符串.为什么内容页可以使用*号,而标题页不能使用呢?因为标题而是有多组标题的.而内容页不可能出现多组内容.同样的道理.内容页是只有一个作者或一个来源地址的.所以就可以很方便的.只使用*号即可.而标题列表页是不能的.

{NO符号},{*}这两个所代表的意思,是不赋值给任何参数变量.因为他左边没有=等于号.使用这两个的目的是,为了实现通配符.比如在列表页的时候.一个链接地址如下

<a href='地址' title='描述'>标题</a>

像描述,我们是用不到的.但是你也要为它写一个通配符.因为每个标题的描述不一样的.所以就要写通配符.也就是说.凡是出现不需要的代码.但每个标题都不一样的.那就需要使用通配符.除了描述之外.有时也会有其它一些CSS样式等之类的.

{*}一般用在文章内容里边.即是作者跟内容之间有一大段不需要的代码.无论相同或者不同.我们都不需要它.就用{*}代替

而变量一般有
title 文章标题
url 被采集的文章内容网址
content 文章内容
author 文章作者
copyfrom 文章来源