php - 我该怎么做preg_replace?
问题描述
我正在尝试从站点获取数据,但存在一些问题。我想更改以开头<div class="phraserec"
和结尾的表达式,</div></div>
我该怎么做?
$source = "<div class="gwblock" id="1936036"><div class="phraserec"bla bla...</div></div>"
$output = preg_replace('/'. preg_quote('<div class="phraserec" '.'(.*?)'.'</div></div>','/') .'/', '</div>' , $ll);
我想要输出;
<div class="gwblock" id="1936036"><div class="phraserec"bla bla...</div>
解决方案
没有理由打电话preg_quote()
,它防止(.*?)
被视为一种模式。而不是把捕获组放在周围.*?
,你可以把它放在第二个之前的所有东西上</div>
。
$output = preg_replace('#(<div class="phraserec".*?</div>)</div>#', '$1', $source);
preg_quote()
当您想将动态输入转换为正则表达式中的文字值时需要。
推荐阅读
- c++ - 即使在程序结束后,我如何保持变量的值?
- postgresql - 使用逻辑复制验证 postgres 升级
- c - 如何检查一个号码是否只有唯一数字?
- laravel - 如何根据另一个表单域的数据验证表单域?- Laravel 6
- c# - S7.Net Plus WriteBits 不适用于位寻址
- python - 使用请求从链接中收集下拉列表
- javascript - 'UserInput' 已定义但从未使用 no-unused-vars 'UserOutput' 已定义但从未使用 no-unused-vars
- mongodb - 用于构建条件和的 MongoDB 聚合
- java - Spring Boot 使用 pathvariable 从 url 获取 id
- java - 自动编码器学习所有样本的平均值