php转换html为txt文本的函数代码

发布时间:2020-01-19编辑:脚本学堂
本文介绍下,可以将html内容转换为txt纯文本的php函数,有需要的朋友,可以参考下。

本例使用php的preg_replace函数对html中的标记进行替换,以得到纯文本txt内容。

代码如下:
 

复制代码 代码示例:

<?php
/**
 * 转换html为txt文本的函数
 * Edit www.jb200.com
 * at 2013/5/11
*/

function html2text($str){ 
  $str = preg_replace("/<style .*?</style>/is", "", $str);  $str = preg_replace("/<script .*?</script>/is", "", $str); 
  $str = preg_replace("/<br s*/?/>/i", "n", $str); 
  $str = preg_replace("/</?p>/i", "nn", $str); 
  $str = preg_replace("/</?td>/i", "n", $str); 
  $str = preg_replace("/</?div>/i", "n", $str); 
  $str = preg_replace("/</?blockquote>/i", "n", $str); 
  $str = preg_replace("/</?li>/i", "n", $str); 
  $str = preg_replace("/&nbsp;/i", " ", $str); 
  $str = preg_replace("/&nbsp/i", " ", $str); 
  $str = preg_replace("/&amp;/i", "&", $str); 
  $str = preg_replace("/&amp/i", "&", $str);   
  $str = preg_replace("/&lt;/i", "<", $str); 
  $str = preg_replace("/&lt/i", "<", $str); 
  $str = preg_replace("/&ldquo;/i", '"', $str); 
  $str = preg_replace("/&ldquo/i", '"', $str); 
  $str = preg_replace("/&lsquo;/i", "'", $str); 
  $str = preg_replace("/&lsquo/i", "'", $str); 
  $str = preg_replace("/&rsquo;/i", "'", $str); 
  $str = preg_replace("/&rsquo/i", "'", $str); 
  $str = preg_replace("/&gt;/i", ">", $str);  
  $str = preg_replace("/&gt/i", ">", $str);  
  $str = preg_replace("/&rdquo;/i", '"', $str);  
  $str = preg_replace("/&rdquo/i", '"', $str);  
  $str = strip_tags($str); 
  $str = html_entity_decode($str, ENT_QUOTES, $encode); 
  $str = preg_replace("/&#.*?;/i", "", $str);         
 
 return $str;
 }
?>