php - 通过 php 中的 preg_replace 删除顶部和底部的多行 html 代码,而不是两个字符串 'hello' 的中间
问题描述
$data = '<p> </p>
<p> </p>
<p>hello</p>
<ul>
<li> </li>
<li> </li>
</ul>
<p>hello</p>
<p> </p>
<p> </p>';
$regex = preg_replace('/^((<[a-z]+>)( )(<\/[a-z]+>))/','',$data);
$regex = preg_replace('/((<[a-z]+>)( )(<\/[a-z]+>))$/','',$regex);
echo $regex;
我只能删除顶部和底部的单行代码,而下一行我无法删除。即使我也尝试过这段代码
$regex = preg_replace('/^((<[a-z]+>)( )(<\/[a-z]+>))*/','',$data);
$regex = preg_replace('/((<[a-z]+>)( )(<\/[a-z]+>))*$/','',$regex);
echo $regex;
我的确切输出想要是这样的
<p>hello</p>
<ul>
<li> </li>
<li> </li>
</ul>
<p>hello</p>
解决方案
使用 str_replace ,希望它的工作
$regex = str_replace("<p> </p>",'',$data);
推荐阅读
- python - 在 Python IGraph 中将顶点作为元组获取
- windows - 如何在 WinSCP 脚本中启用日志记录?
- mysql - MySQL选择以NULL分隔的数据系列之间的日期范围
- javascript - FeathersJS:在服务测试中注入 HTTP 标头
- html - 如何让两个列表项出现在页面的另一侧?
- node.js - 如何将多个图像上传到 Sails.js 应用程序
- c++ - 为什么在带有 gcc5 的 macosx Mojave 10.14 中缺少 charconv 标头?
- domain-driven-design - DDD 关于设计决策
- reactjs - 打字稿:定义嵌套对象的接口“需要一个键”
- spring-boot - 无法为使用 maven-shaded-plugin 创建的 jar 获取条目 BOOT-INF/lib 的嵌套存档