PHP将HTML转换成文本一些方法总结
在php中html转换成文本提供了自带的函数strip_tags了,但有时此函数不够用,下面总结了一些用户自定的函数,各位可参考。
最常用的使用php函数strip_tags
<?php $mystr=<<<SATO 此处省略几十行HTML代码^_^ SATO; $str=strip_tags($mystr); //到这里就已经达到我的HTML转为TXT文本的目的了,哈哈,使用这个函数真方便 //下面是插件的一些切词等操作,这里就不多说了 ?>
Salin selepas log masuk
自定义函数
<?php // $document 应包含一个 HTML 文档。 // 本例将去掉 HTML 标记,javascript 代码 // 和空白字符。还会将一些通用的 // HTML 实体转换成相应的文本。 $search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript "'<[/!]*?[^<>]*?>'si", // 去掉 HTML 标记 "'([rn])[s]+'", // 去掉空白字符 "'&(quot|#34);'i", // 替换 HTML 实体 "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i", "'&(iexcl|#161);'i", "'&(cent|#162);'i", "'&(pound|#163);'i", "'&(copy|#169);'i", "'&#(d+);'e"); // 作为 PHP 代码运行 $replace = array ("", "", "1", "\"", "&", "<", ">", " ", chr(161), chr(162), chr(163), chr(169), "chr(1)"); $text = preg_replace ($search, $replace, $document); ?>
Salin selepas log masuk
后来我从网上看到了一个使用PHP写的方法,使用这个方法也可以实现将HTML转为TXT文本,个人觉得也还蛮实用的,在这里分享一下,代码如下:
function HtmlToText($str){ $str=preg_replace("/<sty(.*)/style>|<scr(.*)/script>|<!--(.*)-->/isU","",$str);//去除CSS样式、JS脚本、HTML注释 $alltext="";//用于保存TXT文本的变量 $start=1;//用于检测<左、>右标签的控制开关 for($i=0;$i<strlen($str);$i++){//遍历经过处理后的字符串中的每一个字符 if(($start==0)&&($str[$i]==">")){//如果检测到>右标签,则使用$start=1;开启截取功能 $start=1; }else if($start==1){//截取功能 if($str[$i]=="<"){//如果字符是<左标签,则使用<font color='red'>|</font>替换 $start=0; $alltext.="<font color='red'>|</font>"; }else if(ord($str[$i])>31){//如果字符是ASCII大于31的有效字符,则将字符添加到$alltext变量中 $alltext.=$str[$i]; } } } //下方是去除空格和一些特殊字符的操作 $alltext = str_replace(" "," ",$alltext); $alltext = preg_replace("/&([^;&]*)(;|&)/","",$alltext); $alltext = preg_replace("/[ ]+/s"," ",$alltext); return $alltext; }
Salin selepas log masuk
使用上面这个方法也可以实现将简答的HTML代码转换为TXT文本。
例3
function html2text($str,$encode = 'GB2312') { $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; }
Salin selepas log masuk
本文地址:
转载随意,但请附上文章地址:-)
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Berapa lama masa yang diperlukan untuk mengalahkan fiksyen berpecah?
1 bulan yang lalu
By DDD
R.E.P.O. Simpan Fail Lokasi: Di manakah & bagaimana untuk melindunginya?
1 bulan yang lalu
By DDD
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Assassin's Creed Shadows: Penyelesaian Riddle Seashell
1 minggu yang lalu
By DDD

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
