[請益] 求救!! Re: [請益] 字串比對的問題
我把 $a="onetwothreefour";
改成 $a=file_get_contents("http://www.XXXXXXX.com")
因為需要做一個類似字典的比對功能
所以直接丟給$a一個網頁的原始碼去跟$b做比對
但是改成這樣後 就印不出任何東西來了
原來底下提供的code可以印出Array ( [0] => one [1] => two )
所以猜測是file_get_contents不被視為一個大的字串
請問有甚麼解決的辦法呢??
謝謝板上的回答~
※ 引述《liaosankai (低溫烘焙)》之銘言:
: ※ 引述《imcar (imcar)》之銘言:
: : <?php
: : $a="onetwothreefour";
: : $b=Array();
: : $b[]="one";
: : $b[]="three";
: : print_r(c($a,$b));
: : function c($str,$arr){
: : $res=Array();
: : for($i=0;$i<sizeof($arr);$i++){
: : $pattern="/{$arr[$i]}/" ;
: : if (preg_match($pattern,$str)){
: : $res[]=$arr[$i];
: : }
: : }
: : return($res);
: : }
: : ?>
: imcar這個程式寫的不賴,但我把asdd的需求重新檢視一次。
: 似乎用到preg_match有點over了。可以把流程想成,如果$b
: 裡面的字串沒有出現在$a字串,就從$b陣列中移除掉。若最後
: 取得的結果是一樣的,可以考慮用較有效能的方式去完成,
: 改寫後程式如下:
: $a = 'onetwothreefour';
: $b = array('one','two','five');
: print_r(c($a,$b));
: function c($str,$arr){
: foreach($arr as $i => $val){
: if(!stristr($str,$val)){
: unset($arr[$i]);
: }
: }
: return $arr;
: }
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.255.30.20
→
08/04 22:00, , 1F
08/04 22:00, 1F
推
08/04 22:04, , 2F
08/04 22:04, 2F
→
08/04 22:08, , 3F
08/04 22:08, 3F
→
08/04 22:09, , 4F
08/04 22:09, 4F
→
08/04 22:12, , 5F
08/04 22:12, 5F
→
08/04 22:47, , 6F
08/04 22:47, 6F
→
08/04 22:48, , 7F
08/04 22:48, 7F
→
08/04 22:49, , 8F
08/04 22:49, 8F
→
08/04 22:52, , 9F
08/04 22:52, 9F
→
08/04 23:12, , 10F
08/04 23:12, 10F
→
08/04 23:14, , 11F
08/04 23:14, 11F
→
08/05 04:03, , 12F
08/05 04:03, 12F
→
08/05 04:03, , 13F
08/05 04:03, 13F
→
08/05 15:42, , 14F
08/05 15:42, 14F
→
08/06 00:25, , 15F
08/06 00:25, 15F