作者Daira (Daira)
看板perl
标题Re: [问题] 我想要比对不在 HTML Tag 之中的文字
时间Sun Jun 11 15:12:45 2006
※ 引述《cutecpu (可爱中央处理器)》之铭言:
: ※ 引述《Daira (Daira)》之铭言:
: : 补充一下我的问题
: : 我目前的想法是,只要 pattern 出现在 < 和 > 符号之中,就可以直接忽略掉
: : 但是这个想法不知道要怎麽实作
: $pat1='(?<=[^<]/)html';
: $pat2='(?<=[^</])html';
: $pat3='html(?=[^>])';
: $pat4='^html';
: /$pat1|$pat2|$pat3|$pat4/i
这个方法在这个 case 下可以运作 ^^
可是有时候可能我要取代的字串是 'src' 三个字元
他会出现在 <img
src="xxx.jpg"> 这种地方
可能就没有办法用穷举法去排除所有例子
另外,我顺便提出我目前的想法
就是先把 /<.?>/ 这种 pattern 取代成一组编号 (比方说 #1)
然後在一个 array 里的第 1 个元素放入这个字串
全部的 /<.?>/ 都被处理完後,再来处理我最主要要取代的字串
最後再把一个一个 #n 从 array 里取出,还原成原本字串
不过这样做很明显就不像很有效率的样子
(虽然即使真的找到一行 RE 可以做到这件事,效率也不一定会高 >"<)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.67.120.114