關(guān)于魔爪過濾系統(tǒng):
============================================================
過濾系統(tǒng)能做什么?
魔爪瀏覽器打開一個網(wǎng)頁前,預(yù)先處理,替換輸出到您需要的html代碼。
================
在system/adfilter目錄中,包含了所有過濾配置文件,
文件名自擬,唯一即可,后綴xml,編碼統(tǒng)一為utf8,以下是所有字段的說明:
================
<ad>
<version>版本號</version>
<author><![CDATA[作者]]></author>
<name><![CDATA[過濾名稱]]></name>
<desc><![CDATA[過濾描述]]></desc>
<timestamp>上次更新的時間戳</timestamp>
<filter>
<domain>要過濾的域名,多個域名用;隔開</domain>
<excludeurls>不過濾的地址,設(shè)置了該選項則將優(yōu)先于下邊所有項</excludeurls>
<includeurls>過濾的地址,一旦匹配本項,則不會載入該地址</includeurls>
<replaceurls>需要進行內(nèi)容替換的地址,*代表所有域名下的地址都會進行替換,默認為*</replaceurls>
<replaces>需要進行內(nèi)容替換的表達式,格式:替換字符||目標替換字符,一行一個,可用三種匹配:1、普通 2、模糊匹配 3、正則匹配</replaces>
</filter>
</ad>
================
在一個過濾文件中,其中filter字段是可以重復(fù)寫多個,
以下是一個簡單例子,filter1把鮮網(wǎng)所有頁面防破解復(fù)制,
過濾了圖片文字,filter2把新浪所有“新浪”文字換成了網(wǎng)易:
================
<ad>
<version>3.0</version>
<author><![CDATA[Djunny]]></author>
<name><![CDATA[default]]></name>
<desc><![CDATA[]]></desc>
<timestamp>0</timestamp>
<filter>
<domain>mooo.com;64.124.54.124;209.133.27.114;209.133.27.115;www.myfreshnet.cc;www.myfreshnet.com;209.133.27.102;209.133.27.104;209.133.27.105;209.133.27.108;myfreshnet.365dayfree.cn;64.124.54.120</domain>
<excludeurls></excludeurls>
<includeurls>
</includeurls>
<replaceurls>
myindex9.asp
indextext.asp
</replaceurls>
<replaces>
/<title><.+>([^>]+)(<\/.+>)(.*?)</title>/is||<title>$1$3</title>
ondragstart='return false' onselectstart='return false' oncontextmenu='return false'||
/<a[^>]*?>(繁|簡|一站|二站)<\/a>/is||
/<a[^>]*?><font[^>]*?>(繁|簡|一站|二站)<\/font><\/a>/is||
/<(div|span) class=describe>(.*?)</\1>/is||
/<IMG onload=imgload(this) src=\S+\/(\w+\.)gif align=bottom[^>]*?>/is||$1
/swc2(_\d+)?\./is||他
/swe2(_\d+)?\./is||是
/swb2(_\d+)?\./is||我
/swa2(_\d+)?\./is||你
/swd2(_\d+)?\./is||的
</replaces>
</filter>
<filter>
<domain>sina.com.cn</domain>
<excludeurls></excludeurls>
<includeurls>
</includeurls>
<replaceurls>
</replaceurls>
<replaces>
新浪||網(wǎng)易
</replaces>
</filter>
</ad>
============================================================
關(guān)于replaces字段的替換說明:
============================================================
replaces支持三種匹配方式,所有表達式均用||為分隔符:
================
1、普通
================
即使用普通的字符串,全字替換。
例,將所有“我的”替換成“你的”:
我的||你的
================
2、模糊匹配
================
使用模糊匹配功能進行替換。
其中,[*]代表任意字符,(*)代表需要歸組的字符(要處理的字符),要替換的字符中可以用$1來取得表達式中的匹配(僅支持$1),例1:
我的(*)人||你的$1人
譯為:$1代表表達式中的(*)匹配的內(nèi)容,將目標內(nèi)容中出現(xiàn)“我的男人”替換成“你的男人”,也可以將“我的男女人”替換成“你的男女人”,同樣,依然還可以將“我的人”替換成“你的人”
例2:
我[*]的(*)人||你的$1人
譯為:將內(nèi)容中出現(xiàn)“我是XX的女人”替換成“你的女人”。
================
3、正則表達式匹配
================
使用正則表達式功能進行替換。
魔爪使用正則表達式用的是perl正則表達式內(nèi)核,使用的方法和php語法相同,格式為:
/正則表達式/[選項]
可使用的選項:
i:不區(qū)分大小寫
m:多行匹配模式,即.可以代表回車、換行
s:單行匹配模式,與上相反
x:允許在表達式中出現(xiàn)注釋
a:非貪婪模式,*,+會匹配盡少的可能
g:不匹配group,正則中支持?,
常用:
/表達式/is
其它請參考具體的正則表達式教程【點擊下載】