php如何去除字符串中html标签,空格,换行,提取纯文字

news/2024/11/25 3:22:45/

php去除html,空格,换行,提取纯文字的方法:

1、清除字符串两边的空格,代码为【$str = trim($str)】;

2、匹配html中的空格,代码为【$str = preg_replace("/ /","",$str)】。

php去除html,空格,换行,提取纯文字的方法:

方法一:

function DeleteHtml($str) 
{ $str = trim($str); //清除字符串两边的空格$str = preg_replace("/\t/","",$str); //使用正则表达式替换内容,如:空格,换行,并将替换为空。$str = preg_replace("/\r\n/","",$str); $str = preg_replace("/\r/","",$str); $str = preg_replace("/\n/","",$str); $str = preg_replace("/ /","",$str);$str = preg_replace("/  /","",$str);  //匹配html中的空格return trim($str); //返回字符串
}调用方法DeleteHtml($str);$str 为需要清除的页面字符串

方法二:

function DeleteHtml($str) 
{ $str = trim($str); //清除字符串两边的空格$str = strip_tags($str,""); //利用php自带的函数清除html格式$str = preg_replace("/\t/","",$str); //使用正则表达式替换内容,如:空格,换行,并将替换为空。$str = preg_replace("/\r\n/","",$str); $str = preg_replace("/\r/","",$str); $str = preg_replace("/\n/","",$str); $str = preg_replace("/ /","",$str);$str = preg_replace("/  /","",$str);  //匹配html中的空格return trim($str); //返回字符串
}

方法三:

去除字符串内部的空行:$str = preg_replace("/(s*?r?ns*?)+/","n",$str);
去除全部的空行,包括内部和头尾:$str = preg_replace('/($s*$)|(^s*^)/m', '',$str);

扩展1:

htmlspecialchars_decode() 函数把一些预定义的 HTML 实体转换为字符。

会被解码的 HTML 实体是:

  • & 解码成 & (和号)
  • " 解码成 " (双引号)
  • ' 解码成 ' (单引号)
  • &lt; 解码成 < (小于)
  • &gt; 解码成 > (大于)
实例把预定义的 HTML 实体 "&lt;"(小于)和 "&gt;"(大于)转换为字符:<?php
$str = "This is some &lt;b&gt;bold&lt;/b&gt; text.";
echo htmlspecialchars_decode($str);
?>

<!DOCTYPE html>
<html>
<body>This is some <b>bold</b> text.
</body>
</html>
上面代码的浏览器输出如下:This is some bold text.

扩展2:

php自带的函数可以去除/删除字符串中的HTML标签/代码。

strip_tags(string,allow):函数剥去 HTML、XML 以及 PHP 的标签。

参数:string,必填,规定要检查的字符串;allow,选填,规定允许存在的标签,这些标签不会被删除。

$str = '郭碗瓢盆-<span style="color:#f00;">PHP</span>';$str1 = strip_tags($str);          // 删除所有HTML标签$str2 = strip_tags($str,'<span>'); // 保留 <span>标签echo $str1; // 输出 郭碗瓢盆-PHPecho $str2; // 样式不一样喔


http://www.ppmy.cn/news/28690.html

相关文章

美团前端面试题集锦

HTML5有哪些更新 1. 语义化标签 header&#xff1a;定义文档的页眉&#xff08;头部&#xff09;&#xff1b;nav&#xff1a;定义导航链接的部分&#xff1b;footer&#xff1a;定义文档或节的页脚&#xff08;底部&#xff09;&#xff1b;article&#xff1a;定义文章内容…

Linux | 分布式版本控制工具Git【版本管理 + 远程仓库克隆】

文章目录一、前言二、有关git的相关历史介绍三、Git版本管理1、感性理解 —— 大学生实验报告2、程序员与产品经理3、张三的CEO之路 —— 版本管理工具的诞生四、如何在Linux上使用Git1、创建仓库2、将仓库克隆到本地3、git三板斧① git add② git commit③ git push4、有关git…

机器学习:基于朴素贝叶斯对花瓣花萼的宽度和长度分类预测

机器学习&#xff1a;基于朴素贝叶斯对花瓣花萼的宽度和长度分类预测 作者&#xff1a;AOAIYI 作者简介&#xff1a;Python领域新星作者、多项比赛获奖者&#xff1a;AOAIYI首页 &#x1f60a;&#x1f60a;&#x1f60a;如果觉得文章不错或能帮助到你学习&#xff0c;可以点赞…

深入理解跳表及其在Redis中的应用

前言跳表可以达到和红黑树一样的时间复杂度 O(logN)&#xff0c;且实现简单&#xff0c;Redis 中的有序集合对象的底层数据结构就使用了跳表。其作者威廉普评价&#xff1a;跳跃链表是在很多应用中有可能替代平衡树的一种数据结构。本篇文章将对跳表的实现及在Redis中的应用进行…

termux手机端安装mysql(MariaDB)

目录1 下载MariaDB2 配置MariaDB3 启动MariaDB服务器查看进程pid杀死进程4 登录 Mysqltermux用户登录MySQLroot用户登录MySQL5 配置 MariaDB 远程登录创建一个可远程登录的用户&#xff1a;用户授权&#xff1a;刷新授权&#xff1a;6 停止 MariaDB 服务器7 可选&#xff0c;但…

Java知识复习(四)多线程、并发编程

1、进程、线程和程序 进程&#xff1a;进程是程序的一次执行过程&#xff0c;是系统运行程序的基本单位&#xff0c;因此进程是动态的&#xff1b;在 Java 中&#xff0c;当我们启动 main 函数时其实就是启动了一个 JVM 的进程&#xff0c;而 main 函数所在的线程就是这个进程…

2023安徽省“中银杯”职业技能大赛“网络安全” 项目比赛任务书

2023安徽省“中银杯”职业技能大赛“网络安全” 项目比赛任务书2023安徽省“中银杯”职业技能大赛“网络安全” 项目比赛任务书A模块基础设施设置/安全加固&#xff08;200分&#xff09;A-1&#xff1a;登录安全加固&#xff08;Windows, Linux&#xff09;A-2&#xff1a;Ngi…

清华源pip安装Python第三方包

一、更换PIP源PIP源在国外&#xff0c;速度慢&#xff0c;可以更换为国内源&#xff0c;以下是国内一些常用的PIP源。豆瓣(douban) http://pypi.douban.com/simple/ (推荐)清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/阿里云 http://mirrors.aliyun.com/pypi/simple/中…