【问题标题】:How to replace src for data-src with regex?如何用正则表达式替换 data-src 的 src?
【发布时间】:2019-06-03 04:30:24
【问题描述】:

我在 html 中有整个页面,在输出之前我想将所有 img src 替换为 data-src 我正在使用

  return (preg_replace('~<img[^>]*\K(?=src)~i','data-',$buffer));

但是这不匹配例如

<img alt="alt" src="src">

只有当 src 是第一个时才匹配

<img src="src"

我不能让它像我想要的那样工作,你能帮我编辑这个模式来做我需要的吗?

【问题讨论】:

  • 改用html解析器
  • 我必须使用正则表达式
  • 为什么必须使用正则表达式?作业?
  • 是的,我想将 src 更改为 data-src
  • @JiříKaštovský 它有效 - regex101.com/r/mwvphb/1

标签: php html regex


【解决方案1】:

我认为这应该适合你:

preg_replace("/(<img[^>]*)src=/", "$1data-src=", '<img alt="alt" src="src">');

$1 是表示第一个匹配组的反向引用(模式括号中的所有内容)。

【讨论】:

  • 只替换第一个匹配,如何在多个标签中替换?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 2018-07-15
  • 2012-05-26
  • 2023-03-09
  • 1970-01-01
  • 2015-07-06
相关资源
最近更新 更多