搜索引擎技術核心揭密(PHP)(2)_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:在同一窗體中使用PHP來處理多個提交任務
      在PHP中的處理窗體數(shù)據(jù)比其它網(wǎng)頁程序語言更簡單——如果你使用這種語言一段時間后,你會發(fā)現(xiàn)這是一個不可爭辯的事實。這種操作的簡易性使它可以容易地處理更為復雜的窗體事件,包括

      以下所有程序均依次接續(xù)在上文程序的“進一步處理”處。

      result_string = strstr( result_string, "<p>"); //取 result_string從第一個<p>開始后的字符串,以去除Google臺頭
      position= strpos( result_string,"<p>table符號的位置
      result_string= substr( result_string,0, position);//截取第一個<p>table符號之前的字符串,以去除腳注

      應用與實現(xiàn)

      OK,現(xiàn)在我們已經(jīng)得到有用的HTML源碼主干了,剩下的問題是如何自主地顯示這些內(nèi)容。我們再分析一下這些搜索結果條目,發(fā)現(xiàn)每個條目之間也是很有規(guī)律的用
      分隔,也就是各成一個段落,按這個特點我們用explode()函數(shù)把每個條目切開:

      語法:explode(string separator, string string);

      返回一個數(shù)組,按separator切開后的各個小字串被保存在數(shù)組中。

      于是:
      result_array=explode("<p>", result_string); //用字串"<p>"把結果切開

      我們就得到一個數(shù)組 result_array,其中每個元素都是一個搜索結果條目。我們所要做的僅僅是研究每個條目及其HTML顯示格式代碼,然后按要求替換就行了。下面用循環(huán)來處理 result_array中的每個條目。
      for( i=0; i {
      ... //處理每個條目
      }

      對于每個條目,我們也很容易找到一些特點:每個條目都由標題、摘要、簡介、類別、網(wǎng)址等組成,每個部分都換行,即包含<br>標記,于是再次分割:(以下處理程序放在上文的循環(huán)中)
      every_item=explode("<br>", result_array[ i]);

      這樣我們得到一個數(shù)組 every_item,其中 every_item[0]就是標題, every_item[1]和 every_item[2]兩行為摘要, every_item[3]和 every_item[4]等等的頭部如果包含“<font size=-1 color=#6f6f6f >簡介:</font>”、“< font size=-1 color=#6f6f6f>類別:< /font>”字符,則是簡介或類別(因為有的結果條目沒有該項),如果頭部包含“< font color=green>”則肯定就是網(wǎng)址啦,這種對比判斷我們常使用正則表達式(略),如果要替換也很方便,比如包含標題的$every_item[0],其本身是有鏈接的,我們希望修改這個鏈接屬性,讓它在新窗口打開鏈接:
      echo eregi_replace(' {
      ... //處理每個條目中除去第一項(第一項為標題,已經(jīng)顯示)的每一項
      ... //更多格式修改
      }

      這樣就修改了鏈接屬性,其余很多顯示格式的修改、剝離、替換都能用正則替換eregi_replace()來完成。

      至此我們已經(jīng)得到了每個搜索條目的每一項,并能任意修改每項的格式,甚至可以給他套上漂亮的表格。然而一個好的程序應該能適應各種運行環(huán)境的,這里也不例外,我們其實還只是討論了搜索結果的HTML剝離的一種框架方法,真正要做得完美,還要考慮很多內(nèi)容,比如要顯示一共搜索出多少結果,分成多少頁等等,甚至還可以刨除與Google相關的那些“類別”、“簡介”等代碼,讓客戶根本看不到原始網(wǎng)站。不過這些內(nèi)容和要求我們都能通過分析HTML進行剝離得到。現(xiàn)在大家完全能自己動手,做個極富個性化的搜索引擎啦。

      分享:用PHP生成PDF文件 with FPDF
      What is FPDF? FPDF is a PHP class which allows to generate PDF files with pure PHP, that is to say without using the PDFlib library. The advantage is that PDFlib requires a fee for

      共2頁上一頁12下一頁
      來源:模板無憂//所屬分類:PHP教程/更新時間:2008-08-22
      相關PHP教程