最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解析php利用正則表達(dá)式解決采集內(nèi)容排版的問(wèn)題

 更新時(shí)間:2013年06月20日 11:44:04   作者:  
本篇文章是對(duì)php利用正則表達(dá)式解決采集內(nèi)容排版問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
做采集經(jīng)常遇到的問(wèn)題是內(nèi)容排版問(wèn)題,用了一些時(shí)間寫(xiě)了個(gè)用正則替換html標(biāo)簽和樣式的函數(shù),共享下。
復(fù)制代碼 代碼如下:

/**
 * 格式化內(nèi)容
 * @param string $content 內(nèi)容最好統(tǒng)一用utf-8編碼
 * @return string
 * !本函數(shù)需要開(kāi)啟tidy擴(kuò)展
 */
function removeFormat($content) {
 $replaces = array (
   "/<font.*?>/i" => '',
   "/<\/font>/i" => '',
   "/<strong>/i" => '',
   "/<\/strong>/i" => '',
   "/<span.*?>/i" => '',
   "/<\/span>/i" => '',
   "/<div.*?>/i" => "<p>",
   "/<\/div>/i" => "</p>",
   "/<!--<.*?>*-->/i"=>'',
   /* "/<table.*?>/i" => '',//遇到有表格的內(nèi)容就不要啟用
   "/<\/table>/i" => '',
   "/<tbody.*?>/i" => '',
   "/<\/tbody>/i" => '',
   "/<tr.*?>/i" => '<p>',
   "/<\/tr>/i" => '</p>',
   "/<td.*?>/i" => '', */
   "/style=.+?['|\"]/i" => '',
   "/class=.+?['|\"]/i" => '',
   "/id=.+?['|\"]/i"=>'',
   "/lang=.+?['|\"]/i"=>'',
   //"/width=.+?['|\"]/i"=>'',//不好控制注釋掉
   //"/height=.+?['|\"]/i"=>'',
   "/border=.+?['|\"]/i"=>'',
   "/face=.+?['|\"]/i"=>'',
   "/<br.*?>[ ]*/i" => "</p><p>",
   "/<iframe.*?>.*<\/iframe>/i" => '',
   "/&nbsp;/i" => ' ',//空格替換掉
   "/<p.*?>[ |\x{3000}|\r\n]*/ui" => '<p>&nbsp;&nbsp;&nbsp;&nbsp;',//替換半角、全角空格,換行符,用&nbsp;排除寫(xiě)入數(shù)據(jù)庫(kù)時(shí)產(chǎn)生的編碼問(wèn)題

 );
 $config = array(
         //'indent' => TRUE, //是否縮進(jìn) 
                'output-html' => TRUE,//是否是輸出xhtml 
                'show-body-only'=>TRUE,//是否只獲得到body 
               'wrap' => 0
    );
 $content = tidy_repair_string($content, $config, 'utf8');//先利用php自帶的tidy類庫(kù)修復(fù)html標(biāo)簽,不然替換的時(shí)候容易出現(xiàn)各種詭異的情況
 $content = trim($content);
 foreach ( $replaces as $k => $v ) {
  $content = preg_replace ( $k, $v, $content );
 }

 if(strpos($content,'<p>')>6)//部分內(nèi)容開(kāi)頭可能缺失<p>標(biāo)簽
  $content = '<p>&nbsp;&nbsp;&nbsp;&nbsp;'.$content;

 $content = tidy_repair_string($content, $config, 'utf8');//再修復(fù)一次,可以去除html空標(biāo)簽
 $content = trim($content);
 return $content;
}

相關(guān)文章

  • PHP中其實(shí)也可以用方法鏈

    PHP中其實(shí)也可以用方法鏈

    javascript里有個(gè)很有效的用法即方法鏈,在PHP里也可以使用方法鏈
    2011-11-11
  • php中stdClass的用法分析

    php中stdClass的用法分析

    這篇文章主要介紹了php中stdClass的用法,實(shí)例分析了stdClass的功能及使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • php遞歸列出所有文件和目錄的代碼

    php遞歸列出所有文件和目錄的代碼

    我的程序在國(guó)外的SREVER上,自己編的程序存放到哪,我很難記清。 所以編了一個(gè)簡(jiǎn)單的目錄遞歸函數(shù),查看我的程序,很方便的。
    2008-09-09
  • PHP獲取文件屬性的最簡(jiǎn)單方法

    PHP獲取文件屬性的最簡(jiǎn)單方法

    在本篇文章里小編給大家分享了一篇關(guān)于PHP獲取文件屬性的最簡(jiǎn)單方法,有需要的朋友們學(xué)習(xí)下吧。
    2021-08-08
  • PHP 簡(jiǎn)單日歷實(shí)現(xiàn)代碼

    PHP 簡(jiǎn)單日歷實(shí)現(xiàn)代碼

    寫(xiě)文件系統(tǒng)的時(shí)候看中了個(gè)國(guó)外的HTML模板...上面有個(gè)日歷,就想用PHP寫(xiě)出來(lái)...
    2009-10-10
  • PHP編程獲取音頻文件時(shí)長(zhǎng)的方法【基于getid3類】

    PHP編程獲取音頻文件時(shí)長(zhǎng)的方法【基于getid3類】

    這篇文章主要介紹了PHP編程獲取音頻文件時(shí)長(zhǎng)的方法,通過(guò)引入第三方getid3類來(lái)實(shí)現(xiàn)操作音頻文件的功能,需要的朋友可以參考下
    2017-04-04
  • php的mssql數(shù)據(jù)庫(kù)連接類實(shí)例

    php的mssql數(shù)據(jù)庫(kù)連接類實(shí)例

    這篇文章主要介紹了php的mssql數(shù)據(jù)庫(kù)連接類,以一個(gè)類實(shí)例的形式演示了PHP實(shí)現(xiàn)針對(duì)mssql數(shù)據(jù)庫(kù)的各種常用操作方法,包括對(duì)數(shù)據(jù)庫(kù)的連接與增刪改查等操作,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-11-11
  • PHP判斷遠(yuǎn)程圖片是否存在的幾種方法

    PHP判斷遠(yuǎn)程圖片是否存在的幾種方法

    這篇文章主要介紹了PHP判斷遠(yuǎn)程圖片是否存在的幾種方法,需要的朋友可以參考下
    2014-05-05
  • PHP編程函數(shù)安全篇

    PHP編程函數(shù)安全篇

    關(guān)于腳本安全這個(gè)話題好像永遠(yuǎn)沒(méi)完沒(méi)了,如果你經(jīng)常到國(guó)外的各種各樣的bugtraq上,你會(huì)發(fā)現(xiàn)有一半以上都和腳本相關(guān),諸如SQL injection,XSS,Path Disclosure,Remote commands execution這樣的字眼比比皆是,我們看了之后的用途難道僅僅是抓肉雞?
    2013-01-01
  • PHP中類屬性與類靜態(tài)變量的訪問(wèn)方法示例

    PHP中類屬性與類靜態(tài)變量的訪問(wèn)方法示例

    這篇文章主要介紹了PHP中類屬性與類靜態(tài)變量的訪問(wèn)方法,結(jié)合實(shí)例形式對(duì)比分析了php中類的屬性、靜態(tài)變量及常量的各種訪問(wèn)技巧,需要的朋友可以參考下
    2016-07-07

最新評(píng)論

遂宁市| 城步| 平湖市| 沙坪坝区| 马山县| 双辽市| 波密县| 奉贤区| 扎鲁特旗| 天祝| 宁城县| 贺州市| 德清县| 永福县| 镇雄县| 双鸭山市| 剑河县| 泽库县| 香河县| 准格尔旗| 沂水县| 长葛市| 丽水市| 钦州市| 吉林市| 青海省| 怀集县| 承德市| 景洪市| 枞阳县| 泸水县| 西乌珠穆沁旗| 凯里市| 吴江市| 恩施市| 武宣县| 武山县| 三门峡市| 西乌珠穆沁旗| 洮南市| 大埔县|