DEDECMS常用采集過(guò)濾正則表達(dá)式
dede采集過(guò)程中最麻煩的莫過(guò)于采集的正則過(guò)濾函數(shù)的編寫(xiě)。說(shuō)實(shí)在的,dede在這點(diǎn)上和很多ASP CMS系統(tǒng)比如說(shuō)動(dòng)易等,采集的時(shí)候直接選擇幾個(gè)選項(xiàng)就可以了,簡(jiǎn)單的完成想過(guò)濾的東西。不過(guò)他們只局限于對(duì)文章內(nèi)容的過(guò)濾不是很好。而DEDE卻能對(duì)所有采集的字段進(jìn)行過(guò)濾,功能上彌補(bǔ)了易用性的缺陷,期待柏拉圖在后續(xù)版本中加上選擇性過(guò)濾功能。
下面是在綜合論壇上網(wǎng)友的各種正則的一個(gè)全集:
以下為引用的內(nèi)容:
{dede:trim}
{/dede:trim}
{dede:trim}<param([^>]*)>{/dede:trim}
{dede:trim}<embed([^>]*)>([^>]*)</embed>{/dede:trim}
{dede:trim}<embed([^>]*)>{/dede:trim}
{dede:trim}</embed>{/dede:trim}
{dede:trim}<object([^>]*)>([^>]*)</object>{/dede:trim}
{dede:trim}<object([^>]*)>{/dede:trim}
{dede:trim}</object>{/dede:trim}
{dede:trim}<OBJECT([^>]*)>([^>]*)</OBJECT>{/dede:trim}
{dede:trim}<OBJECT([^>]*)>{/dede:trim}
{dede:trim}</OBJECT>{/dede:trim}
{dede:trim}<iframe([^>]*)>([^>]*)</iframe>{/dede:trim}
{dede:trim}<iframe([^>]*)>{/dede:trim}
{dede:trim}</iframe>{/dede:trim}
{dede:trim}<IFRAME([^>]*)>([^>]*)</IFRAME>{/dede:trim}
{dede:trim}<IFRAME([^>]*)>{/dede:trim}
{dede:trim}</IFRAME>{/dede:trim}
{dede:trim}<font([^>]*)>([^<]*)</font>{/dede:trim}
{dede:trim}<font([^>]*)>{/dede:trim}
{dede:trim}</font>{/dede:trim}
{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}
{dede:trim}<a([^>]*)>{/dede:trim}
{dede:trim}</a>{/dede:trim}
{dede:trim}<td([^>]*)>([^>]*)</td>{/dede:trim}
{dede:trim}<td([^>]*)>{/dede:trim}
{dede:trim}</td>{/dede:trim}
{dede:trim}<tr([^>]*)>([^>]*)</tr>{/dede:trim}
{dede:trim}<tr([^>]*)>{/dede:trim}
{dede:trim}</tr>{/dede:trim}
{dede:trim}<tbody([^>]*)>([^>]*)</tbody>{/dede:trim}
{dede:trim}<tbody>{/dede:trim}
{dede:trim}</tbody>{/dede:trim}
{dede:trim}<table([^>]*)>([^>]*)</table>{/dede:trim}
{dede:trim}<table([^>]*)>{/dede:trim}
{dede:trim}</table>{/dede:trim}
{dede:trim}<img([^>]*)>{/dede:trim}
{dede:trim}<span([^>]*)>{/dede:trim}
{dede:trim}</span>{/dede:trim}
{dede:trim} {/dede:trim}
{dede:trim}<stong>{/dede:trim}
{dede:trim}</stong>{/dede:trim}
應(yīng)用示例一:標(biāo)題中空格的過(guò)濾
經(jīng)常在采集文章的時(shí)候,標(biāo)題文字里面有空格,采回來(lái)后應(yīng)用很是麻煩,所以需要在過(guò)濾處添加下面正則過(guò)濾
以下為引用的內(nèi)容:
{dede:trim} {/dede:trim}
應(yīng)用示例二:來(lái)源作者中連接的過(guò)濾
在采集文章的時(shí)候,有的系統(tǒng)里面作者或者來(lái)源處都有連接,直接采集的話(huà)將連接采集回來(lái)了,然后由于這兩個(gè)字段有限制,通常會(huì)造成需要采集的內(nèi)容沒(méi)有采集回來(lái),所以需要在過(guò)濾處添加下面正則過(guò)濾
以下為引用的內(nèi)容:
{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}
應(yīng)用示例三:文章內(nèi)容中連接以及其他廣告代碼的過(guò)濾
這個(gè)就不用說(shuō)了,當(dāng)需要對(duì)所有東西過(guò)濾的時(shí)候,直接用上面所有的代碼過(guò)濾就可以,但是實(shí)際應(yīng)用中,我們只需要對(duì)連接、動(dòng)畫(huà)、調(diào)用等進(jìn)行過(guò)濾。(這個(gè)需要按照對(duì)方內(nèi)容里面具體含有什么代碼來(lái)具體操作)
一般的只有鏈接,使用二中的代碼進(jìn)行過(guò)濾就可以了,但是實(shí)際上一般的網(wǎng)站現(xiàn)在都在內(nèi)容里面加有廣告等,所以采取下面的過(guò)濾正則就可以完成過(guò)濾:
以下為引用的內(nèi)容:
{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}
{dede:trim}<IFRAME([^>]*)>([^>]*)</IFRAME>{/dede:trim}
{dede:trim}<object([^>]*)>([^>]*)</object>{/dede:trim}
{dede:trim}<script([^>]*)>([^>]*)</script>{/dede:trim}
應(yīng)用示例四:過(guò)濾GG廣告代碼
其實(shí)這個(gè)就是在上面的內(nèi)容過(guò)濾,但是很多論壇里的網(wǎng)友經(jīng)常問(wèn)這個(gè),所以單獨(dú)作為一個(gè)應(yīng)用列出來(lái):
以下為引用的內(nèi)容:
{dede:trim}<script([^>]*)>([^>]*)</script>{/dede:trim}
好了,上面四種應(yīng)用基本上涵蓋了采集的各種應(yīng)用,掌握了這個(gè),過(guò)濾基本上就不用求人了!
版權(quán)聲明: 本站資源均來(lái)自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請(qǐng)注明: DEDECMS常用采集過(guò)濾正則表達(dá)式