如何用preg_match_all匹配除html标签之外的文本

北方的刀郎 2023-12-06 14:57:17
$html = '这是一段文字一<p>这是一段文字二</p><table><tr><td>这是一段文字三</td></tr></table><div><img src="http://www.baidu.com" alt="产品"/>这是一段文字四</div>这是一段文字五';

preg_match_all('#>([^<>]+)<#', $html, $matches);

var_dump($matches);exit;

结果:
array(2) {
  [0]=>
  array(3) {
    [0]=>
    string(23) ">这是一段文字二<"
    [1]=>
    string(23) ">这是一段文字三<"
    [2]=>
    string(23) ">这是一段文字四<"
  }
  [1]=>
  array(3) {
    [0]=>
    string(21) "这是一段文字二"
    [1]=>
    string(21) "这是一段文字三"
    [2]=>
    string(21) "这是一段文字四"
  }
}

请问,这是一段文字一,这是一段文字五,如何匹配的到?谢谢

...全文
3492 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
北方的刀郎 2023-12-07
  • 打赏
  • 举报
回复

preg_match_all('#([^<>]+)<|>([^<>]+)<|>([^<>]+)#', $html, $matches);

这种可以但是没放到同一个数组里去。

ZhangChc丶 2023-12-06
  • 打赏
  • 举报
回复

$html = '这是一段文字一<p>这是一段文字二</p><table><tr><td>这是一段文字三</td></tr></table><div><img src="http://www.baidu.com" alt="产品"/>这是一段文字四</div>这是一段文字五';

preg_match_all('#>([^<>]+?)<#', $html, $matches);

var_dump($matches[1]);


结果:
array(5) {
  [0]=>
  string(15) "这是一段文字一"
  [1]=>
  string(15) "这是一段文字二"
  [2]=>
  string(15) "这是一段文字三"
  [3]=>
  string(15) "这是一段文字四"
  [4]=>
  string(15) "这是一段文字五"
}

北方的刀郎 2023-12-07
  • 举报
回复
@ZhangChc丶 您这不行啊。
PHP是最流行的Web脚本语言之一,它运行在Web服务器端,根据用户请求或服务器端的数据产生动态网页;它功能强大,和HTML脚本融合在一起,并内建访问数据库的能力;它能够作为Apache Web 服务器的模块执行,也使得其执行效率要高于普通的CGI程序。本书作者是一位经验丰富的程序员,在书中使用了大量的、有一定使用价值的例子来深入浅出地讲解PHP语言及Web编程需要了解的方方面面。尤其值得注意的是,书中使用了多个“中场”章节,以便在学习过一定知识之后,通过实际例子来对所学的知识进行巩固,这些章节介绍的内容具有很强的实用价值。因此本书不仅对Web编程的入门者,即使对于有一定经验的Web程序员来讲,也是非常有用的。 目 录 译者序 前言 第1章 什么是PHP 1 1.1 起源 1 1.2 特性 1 1.3 PHP需要花费多少钱 2 1.4 PHP语言可以嵌入HTML中 2 1.5 PHP语言是在Web服务器端运行 3 1.6 PHP无处不在 3 1.7 PHP和C或Java相似吗 3 1.8 PHP比ColdFusion、Active Server Pages 或Java Server Pages更好吗 3 1.9 总结 4 第2章 安装PHP 5 2.1 基本概念 6 2.2 编译前的准备工作 7 2.3 编译C编译器gcc 8 2.4 编译MySQL 8 2.5 测试MySQL 9 2.6 编译iODBC和MyODBC 12 2.7 编译PHP 12 2.8 安装PHPLIB 15 2.9 测试Linux环境下的ODBC 18 2.10 总结 18 第3章 PHP中的数据处理 19 3.1 数值 19 3.1.1 数字 19 3.1.2 文本 20 3.2 变量 23 3.2.1 标量 23 3.2.2 数组变量 24 3.2.3 多维数组 27 3.2.4 变量替换 28 3.2.5 动态变量名 31 3.3 常量 31 3.4 操作符 31 3.4.1 操作符的优先级 32 3.4.2 三重操作符 33 3.4.3 算术操作符 34 3.4.4 条件操作符 35 3.4.5 一元操作符 35 3.4.6 位操作符 37 3.4.7 字符串连接操作符 38 3.4.8 逻辑操作符 38 3.4.9 赋值操作符 40 3.5 总结 41 第4章 程序控制 43 4.1 表达式 43 4.1.1 简单表达式 43 4.1.2 有副作用的简单表达式 43 4.1.3 复杂表达式 44 4.2 语句 44 4.3 函数 55 4.3.1 函数返回值 56 4.3.2 向函数传递参数 58 4.3.3 给函数赋予缺省值 59 4.3.4 控制变量的作用域 60 4.3.5 嵌套函数调用 61 4.3.6 递归函数 61 4.4 总结 65 第5章 中场一:数据库连接 67 5.1 开端 67 5.2 创建连接 67 5.3 获取HTML表单信息 69 5.4 使用HTML表单信息 70 5.5 common.inc文件 72 5.6 总结 73 第6章 数据库和SQL 74 6.1 信息和数据有何不同 74 6.2 从信息向数据库转移 74 6.3 创建唯一的记录 75 6.4 每个记录的重要字段 75 6.5 有关字段数据类型的一两句话 76 6.6 设计能存储电子邮件消息的字段 76 6.7 SQL介绍 76 6.7.1 SQL Create Table语句 77 6.7.2 SQL Alter Table语句 79 6.7.3 SQL 的删除表语句 82 6.7.4 SQL的插入语句 83 6.7.5 SQL 的更新语句 83 6.7.6 SQL的查询语句 84 6.8 SQL Delete 语句 90 6.9 字段定义及修正 91 6.9.1 使用索引或关键字段来加快查询 91 6.9.2 使用自动增量创建键 92 6.10 总结 92 第7章 中场二:列表维护 94 7.1 列表维护的规范 94 7.2 创建连接代码 94 7.3 创建phpuser用户名 95 7.4 创建数据库表 96 7.5 修改menu.php3文件 97 7.6 插入记录 97 7.6.1 定义插入表单 97 7.6.2 处理插入动作 99 7.6.3 检查动态SQL的建立 100 7.6.4 验证插入 101 7.7 显示记录 101 7.7.1 增加排序记录的能力 104 7.7.2 同时显示五个记录 106 7.7.3 删除记录 109 7.7.4 编辑记录 111 7.7.5 复制记录 113 7.8 为新表配置应用程序 116 7.9 总结 116 第8章 phpMyAdmin:开放源码的 MySQL前端 117 8.1 phpMyAdmin的特性 117 8.2 安装phpMyAdmin 118 8.3 防止“网络机器人” 118 8.4 用密码保护phpMyAdmin目录 119 8.5 使用phpMyAdmin 119 8.6 函数变量:转储表中数据 120 8.7 Query By Example,构造用户自 定义页面 122 8.8 构建多语言网站 124 8.9 常见问题 127 8.10 总结 127 第9章 模式匹配 129 9.1 正则表达式定义 129 9.1.1 方括号表达式 130 9.1.2 转义字符 130 9.2 POSIX风格的函数 131 9.2.1 ereg 和eregi 131 9.2.2 ereg_replace 和eregi_replace 132 9.2.3 Split 133 9.3 PERL风格函数 134 9.3.1 模式定界符 134 9.3.2 模式选项 135 9.3.3 PERL风格转义字符 136 9.3.4 扩展模式记号 136 9.3.5 preg_match 函数 138 9.3.6 preg_match _all 函数 139 9.3.7 preg_replace函数 141 9.3.8 preg_split函数 143 9.3.9 模式举例 143 9.3.10 匹配举例 144 9.3.11 替换举例 148 9.3.12 分割举例 150 9.4 MySQL …151 9.4.1 LIKE 151 9.4.2 RLIKE 152 9.5 总结 152 第10章 面向对象 154 10.1 了解类的知识 154 10.1.1 继承 155 10.1.2 抽象 155 10.1.3 多态 156 10.1.4 封装 157 10.2 对象和PHP 157 10.2.1 使用命名参数 158 10.2.2 使用继承 160 10.2.3 存取类属性 160 10.2.4 多态性函数 161 10.2.5 在类中定义类 162 10.2.6 引用:所指的值就是我的数据 165 10.2.7 有用的类函数 166 10.3 总结 166 第11章 中场三:生成HTML模块 168 11.1 HTML类的设计目的 168 11.2 生成一个基类 169 11.3 继续进行下一步 171 11.4 巩固通用函数 172 11.5 添加head支持 173 11.6 添加body支持 175 11.7 添加title支持 179 11.8 添加注释支持 180 11.9 添加对通用标签的支持 183 11.10 添加缺省值支持 183 11.11 缓存HTML代码 184 11.12 总结 187 第12章 什么是CGI 189 12.1 CGI应用程序和Java Applet 189 12.2 CGI应用程序和JavaScript 190 12.3 自己编写脚本 190 12.4 CGI是如何工作的 190 12.5 调用CGI程序 190 12.6 HTTP标题 191 12.7 CGI和环境变量 192 12.8 URL编码和解码 194 12.8.1 使用rawurlencode函数 194 12.8.2 自动解码 194 12.9 安全性 195 12.10 cookie 195 12.10.1 cookie安全性 196 12.10.2 如何设置和读取cookie 196 12.10.3 客户端浏览器支持cookie吗 197 12.11 调试CGI程序 198 12.11.1 把输出发送到服务器日志 文件中 198 12.11.2 生成错误处理HTML页面 199 12.12 表单处理 200 12.12.1 HTML简介 200 12.12.2 HTML表单 201 12.12.3 传递表单信息 203 12.13 总结 203 第13章 认证 205 13.1 HTTP认证 205 13.2 htaccess 认证 208 13.2.1 用户文件 208 13.2.2 配置apache服务器 208 13.2.3 简单数据库认证 210 13.3 总结 213 第14章 深入了解SQL 214 14.1 表关联 214 14.2 创建数据库表 215 14.3 通过连接生成虚拟表 218 14.4 使用链接表 219 14.5 几种连接类型 222 14.5.1 左连接 222 14.5.2 正则左连接 223 14.5.3 Using选项 223 14.6 处理空值 224 14.7 完整性 225 14.8 总结 226 第15章 中场四:管理并发访问 228 15.1 问题:一个用户能覆盖另一 个用户的更改 228 15.1.1 创建并发数据库 228 15.1.2 程序及图解 228 15.2 解决方案:阻止多用户编辑 235 15.2.1 跟踪编辑会话 236 15.2.2 设计解决方案 236 15.3 总结 248 第16章 XML 249 16.1 为什么使用XML 249 16.1.1 混合结构和显示 250 16.1.2 异类浏览器 250 16.1.3 不适合非Web用途 250 16.1.4 在数据交换方面不实用 251 16.2 XML解决方法 251 16.2.1 HTML和XML的差异 251 16.2.2 XML分析器的作用 252 16.3 XML核心 252 16.3.l 标识和文本 252 16.3.2 注解 256 16.3.3 总体文档结构 256 16.3.4 有效及形式好的文档 257 16.4 文档类型定义(DTD) 258 16.4.1 一般形式 258 16.4.2 ELEMENT关键字 258 16.4.3 ATTLIST关键字 260 16.4.4 ENTITY关键字 262 16.4.5 NOTATION关键字 263 16.5 XML应用程序 264 16.5.1 DocBook 264 16.5.2 同步多媒体集成语言(SMIL) 264 16.6 XML是什么样的 265 16.7 进一步研究 267 16.8 总结 267 第17章 用PHP处理XML 269 17.1 得到电影信息 269 17.1.1 与XML分析器协作 270 17.1.2 从XML到PHP 273 17.2 总结 276 附录A Internet资源 277 附录B ASCII表 282 附录C SQL语言参考 288 附录D PHP函数清单 307 附录E CD-ROM的内容 332

20,358

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧