本例使用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("/ /i", " ", $str);
$str = preg_replace("/ /i", " ", $str);
$str = preg_replace("/&/i", "&", $str);
$str = preg_replace("/&/i", "&", $str);
$str = preg_replace("/</i", "<", $str);
$str = preg_replace("/</i", "<", $str);
$str = preg_replace("/“/i", '"', $str);
$str = preg_replace("/&ldquo/i", '"', $str);
$str = preg_replace("/‘/i", "'", $str);
$str = preg_replace("/&lsquo/i", "'", $str);
$str = preg_replace("/’/i", "'", $str);
$str = preg_replace("/&rsquo/i", "'", $str);
$str = preg_replace("/>/i", ">", $str);
$str = preg_replace("/>/i", ">", $str);
$str = preg_replace("/”/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;
}
?>