/** * HTML转换为文本 * * @param string $str 需要转换的字符串 * @param string $r 如果$r=0直接返回内容,否则需要使用反斜线引用字符串 * @return string */function html2text($str, $r = 0) { if ($r == 0) { return sp_html2text($str); } else { $str = sp_html2text(stripslashes($str)); return addslashes($str); }} function sp_html2text($str) { $str = preg_replace("/<sty(.*)\\/style>|<scr(.*)\\/script>|<!--(.*)-->/isU", "", $str); $alltext = ""; $start = 1; for ($i = 0; $i < strlen($str); $i++) { if ($start == 0 && $str[$i] == ">") { $start = 1; } else if ($start == 1) { if ($str[$i] == "<") { $start = 0; $alltext .= " "; } else if (ord($str[$i]) > 31) { $alltext .= $str[$i]; } } } $alltext = str_replace(" ", " ", $alltext); $alltext = preg_replace("/&([^;&]*)(;|&)/", "", $alltext); $alltext = preg_replace("/[ ]+/s", " ", $alltext); return $alltext;}