You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PHP的preg_replace从iframe标签中提取src属性链接(附实现代码)

解决方案:从转义iframe标签提取src并移除标签内容

我刚搞定了这个需求——处理包含转义<iframe>标签的字符串,提取其中的src链接,同时移除整个iframe标签内容。以下是我的实现步骤和代码:

问题场景

给定一段包含转义iframe标签的字符串(比如带有&lt;、&quot;这类HTML转义字符),需要:

  • 提取src属性对应的链接(例如https://www.test.com/)
  • 移除整个iframe标签的内容

实现代码

// 原始包含转义iframe的字符串
$stringaiframe = 'test inserisco ifram tag &lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.test.com/&quot; title=&quot;test&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;&lt;/iframe&gt;';

// 使用preg_replace处理:提取src并移除iframe标签
$stringaiframe = preg_replace('/&lt;iframe\s+.*?\s+src=(&quot;[^&quot;]+&quot;).*?&lt;\/iframe&gt;/', '&quot;&quot;&quot;&quot;&quot;&quot;$1&quot;&quot;&quot;&quot;&quot;&quot;', $stringaiframe);

正则表达式解释

  • &lt;iframe\s+.*?\s+src=:匹配转义后的<iframe开头,跳过任意空白和属性,精准定位到src=部分
  • (&quot;[^&quot;]+&quot;):捕获组,匹配被转义引号&quot;包裹的完整src链接内容
  • .*?&lt;\/iframe&gt;:匹配iframe标签剩余的所有内容,直到转义的闭合标签&lt;/iframe&gt;
  • 替换部分:将整个iframe标签替换为指定格式(这里用多组转义引号包裹捕获到的src链接)

处理完成后,原始字符串中的iframe标签会被移除,同时保留了我们需要的src链接内容。

内容的提问来源于stack exchange,提问作者natoduevolte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 16:57:30