PHP将HTML转换成纯文本内容实例

将HTML转换为纯文本

有时候可能需要将HTML文本转换为纯文本。可以使用strip_tags()函数达到这个目的,该函数删除字符串中的所有HTML和PHP标记,只剩下文本实体。其形式为:

string strip_tags(string str[,string allowable_tags])

可选的参数allowable_tags指定在此过程中可以跳过的标记。下面的例子使用了strip_tags()删除字符串中的所以HTML标记:

 代码如下 复制代码

$input = "Email example@example.com";
echo strip_tags($input);
?>

这回返回以下结果:
Email example@example.com
下面的例子删除<a>标记之外的所有标记:

$input = "This example
is yanshare!";
echo strip_tags($input, "");
?>

返回结果如下:

This example
is yanshare!

PHP版将html中的<br />换行符转换为文本框中的换行符:

 代码如下 复制代码

function br2nl($text){
return preg_replace('/<br\\s*?\/??>/i','',$text);
}

或者:

function br2nl($text){
$text=preg_replace('/<br\\s*?\/??>/i',chr(13),$text);
 return preg_replace('/ /i',' ',$text);
}

 

 代码如下 复制代码

<?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);
?>

<?php
$mystr=<<<SATO
此处省略几十行HTML代码^_^
SATO;
$str=strip_tags($mystr);
//到这里就已经达到我的HTML转为TXT文本的目的了,哈哈,使用这个函数真方便
//下面是插件的一些切词等操作,这里就不多说了
?>

后来我从网上看到了一个使用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;
}

使用上面这个方法也可以实现将简答的HTML代码转换为TXT文本

时间: 2024-10-11 04:51:40

PHP将HTML转换成纯文本内容实例的相关文章

请问,ASP.net如何把带html格式的内容转换成纯文本的文字

问题描述 请问,ASP.net如何把带html格式的内容转换成纯文本的文字 解决方案 解决方案二:使用正则表达式对字符串进行过滤解决方案三:publicstringLostHTML(stringStr){stringRe_Str="";if(Str!=null){if(Str!=string.Empty){stringPattern="<\/*[^<>]*>";Re_Str=Regex.Replace(Str,Pattern,"&q

Word文档批量转换成TXT文本

使用word编辑文档的时候,不仅可以保存成Word格式,也可以保存为其它格式.但有的时候需要将大批的已经编辑完成的Word文档转换成文本格式或其他格式文档,怎么办?如果通过"另存为"将是一件十分费时费力的事情.可能有人说了利用第三方工具软件吧,那是另一话题.在这里笔者要告诉大家的是:批量转换文档格式不求"人",完全可以借助Word本身自带的功能就可以完成批量转换文档格式的工作.为了叙述方便,专家以将Word文档格式批量转换成TXT文本格式为例来介绍其转换过程,具体操

怎么把网页源代码转换成纯文字形式

问题描述 怎么把网页源代码转换成纯文字形式 网页文字不能复制 我用网页查看源代码 有好多乱码不好复制粘贴 解决方案 浏览器禁用js,然后再打开,就可以复制了. 解决方案二: 按下F12,进入网页元素的审查.点击左上角的搜索图标,然后点击你要复制的文字,在下面就可以复制啦. 解决方案三: 如果是编程的话,直接用浏览器访问内容的元素,把元素里的内容拿出来. 解决方案四: 通过用Java,代码如下:import java.io.*; import javax.swing.text.html.*; im

将Model对象转换成json文本或者json二进制文件

将Model对象转换成json文本或者json二进制文件 https://github.com/casatwy/AnyJson 注意:经过测试,不能够直接处理字典或者数组 主要源码的注释 AJTransformer.h 与 AJTransformer.m // // AJTransformer.h // AnyJson // // Created by casa on 14-9-19. // Copyright (c) 2014年 casa. All rights reserved. // #i

php把html转换成text文本函数

文章为各位提供一个php html转换成text文本函数哦,如果喜欢就行了. <?php if(!defined('DEDEINC')) {  exit("Request Error!"); } function SpHtml2Text($str) {  $str = preg_replace("/<sty(.*)/style>|<scr(.*)/script>|<!--(.*)-->/isU","",$

Mac系统下如何将PDF转换成TXT文本?

  在Mac系统下我们怎么将PDF文件转换为txt格式的文本文档呢?其实在Mac系统中自带的Automator应用程序就能帮我们快速实现将PDF转换为txt文本,下面小编给您带来详细的操作教程: 1.首先打开「应用程序」-「其他」-「Automator」 2.接着弹出的窗口中点击「完成」 3.点击DOCK栏里的Automator应用 4.选取「工作流程」, 5.操作下方「 资料库」选PDF-「 提取PDF文本」,之后将「 提取PDF文本」拖入到右栏空白处,如图 6.选择文件存储,注意文档格式选「

Mac苹果电脑如何将PDF转换成TXT文本

  在Mac系统下我们怎么将PDF文件转换为txt格式的文本文档呢?其实在Mac系统中自带的Automator应用程序就能帮我们快速实现将PDF转换为txt文本,下面小编给您带来详细的操作教程: 1.首先打开「应用程序」-「其他」-「Automator」 2.接着弹出的窗口中点击「完成」 3.点击DOCK栏里的Automator应用 4.选取「工作流程」, 5.操作下方「 资料库」选PDF-「 提取PDF文本」,之后将「 提取PDF文本」拖入到右栏空白处,如图 6.选择文件存储,注意文档格式选「

PDF怎么转换成txt文本格式

1.点击进入软件界面,选择PDF转TXT转换模式.值得一提的是,PDF转换成TXT转换器是目前首款真正意义上具备万能格式转换的转换工具.软件实现了八大转换模式,分别是:PDF转TXT.PDF转Excel.PDF转图片.PDF转 PPT.PDF转换HTML.PDF转TXT.图片转PDF. OFFICE转PDF.无论是对于个人用户还是企业用户,都可以获得极佳的使用体验,有效地帮助用户解决办公上的问题. 2.点击PDF转换成TXT转换器的"添加文件"按钮,将PDF文件添加到程序界面,软件支持

PDF怎么转换成txt文本格式?

  对于办公人员来说,将PDF文件进行TXT格式转换几乎是每天的工作之一,但是绝大部分的用户都没有发现的是,传统的手动复制粘贴效率非常低,而且经常出现很多错误,这无疑给自己带来更大的麻烦. 如选择了专业的PDF转换成TXT 转换器,借助软件本身强大的PDF解析能力,便可轻松实现PDF文件的转换. 迅捷PDF转txt转换器转换过程: 1.点击进入软件界面,选择PDF转TXT转换模式.值得一提的是,PDF转换成TXT转换器是目前首款真正意义上具备万能格式转换的转换工具.软件实现了八大转换模式,分别是