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

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

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

/**
 * 格式化內(nèi)容
 * @param string $content 內(nèi)容最好統(tǒng)一用utf-8編碼
 * @return string
 * !本函數(shù)需要開啟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;排除寫入數(shù)據(jù)庫時產(chǎ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類庫修復(fù)html標(biāo)簽,不然替換的時候容易出現(xiàn)各種詭異的情況
 $content = trim($content);
 foreach ( $replaces as $k => $v ) {
  $content = preg_replace ( $k, $v, $content );
 }

 if(strpos($content,'<p>')>6)//部分內(nè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里有個很有效的用法即方法鏈,在PHP里也可以使用方法鏈
    2011-11-11
  • php中stdClass的用法分析

    php中stdClass的用法分析

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

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

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

    PHP獲取文件屬性的最簡單方法

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

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

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

    PHP編程獲取音頻文件時長的方法【基于getid3類】

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

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

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

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

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

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

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

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

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

最新評論

高雄县| 嘉义县| 镇雄县| 兴化市| 民县| 黎川县| 岑巩县| 太保市| 岳西县| 黄骅市| 丰顺县| 神农架林区| 漯河市| 柯坪县| 左权县| 师宗县| 太康县| 长寿区| 手机| 天等县| 吉木萨尔县| 通海县| 资兴市| 舟曲县| 和顺县| 广西| 山东| 磴口县| 景谷| 西乌| 吴桥县| 泾川县| 永嘉县| 洛浦县| 乐业县| 方山县| 科技| 永年县| 衡山县| 嵊州市| 乡宁县|