世界之窗论坛's Archiver

split 发表于 2007-7-31 19:37

[问题]请问常规表示式匹对中文字元方法

我最近常常去一个Discuz!的论坛,
这个论坛会摆放两种广告,文字广告和图片广告..

我观察了他的原始码发现,这些广告都会用HTML注解标示起来:
[code]
<!--圖檔廣告開始-->
<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="59" id="AutoNumber1">
  <tr>
    广告广告
    </tr>
</table>
</center>
<!--圖檔廣告結束-->

<!--文字廣告開始-->
<center>广告广告</center>
<!--文字廣告結束-->
[/code]

所以我想要用常规表示式来匹配"<!--文字廣告開始-->"到
<!--文字廣告結束->",但是使用unicode无法比对到(该网页使用big5码),
请问有没有人可以帮忙?

split 发表于 2007-7-31 20:55

终於找到问题了..
只是因为广告过滤规则教程有误...
教程中写的:[code]#(type)#(restring)###(replace string)[/code]应该要改成[code]#(type)#(url matching)#(restring)###(replace string)[/code]

所以我的案子只要加入[code]#exd#*forum*#廣告開始-->###following Ad removed[/code]就OK了

[[i] 本帖最后由 split 于 2007-7-31 20:57 编辑 [/i]]

elkay 发表于 2007-7-31 21:06

回复 #2 split 的帖子

呵呵,也许是那个帖子没有能说明白。

实际上是有2种,如下:
#ex#(restring)###(replace string)
#exd#(url matching)#(restring)###(replace string)

tongang 发表于 2007-7-31 21:06

建议你用unicode 编码:

[font=宋体]\u(xxx)[/font]
[font=宋体][/font]
[font=宋体]具体的对应请查unicode编码表...我从网上随便找了个.[/font]


[url=http://code.web.idv.hk/uao/uao.php]http://code.web.idv.hk/uao/uao.php[/url]

elkay 发表于 2007-7-31 21:07

回复 #4 tongang 的帖子

好像tw的正则表达式引擎不支持这个,我试过多次都以失败告终。

tongang 发表于 2007-7-31 21:13

我可以啊..原来的表达式就已经写出来过了..

DownInfo\u0028(.*?),"(.*?)","(.*?)","(.*?)"\u0029[\s\S]*?
这个就是

DownInfo(xxxxxx)

elkay 发表于 2007-7-31 21:19

哦,我没有仔细研究,不过用到的机会也不多

www.813.com.cn 发表于 2007-8-1 18:46

**** 作者被禁止或删除 内容自动屏蔽 ****

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.