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

如何用PHP正则匹配{img:URL}并替换为指定样式的img标签?

一步搞定图片格式替换:用preg_replace直接实现

嘿,你其实不需要先通过preg_match_all提取链接再手动替换,PHP自带的preg_replace可以同时完成匹配和替换操作,一步到位解决你的需求。

具体实现代码

$content = "A quick brown fox {img:https://imageurl.com/fox.jpg} jumps over the lazy dog {img:https//:imageurl.com/dog.jpg}.";

// 执行替换:把所有{img:URL}转换成带width样式的img标签
$formattedContent = preg_replace("/\{img:(.*?)\}/", "<img src='$1' style='width:100%' />", $content);

// 输出最终结果
echo $formattedContent;

代码细节解释

  • 正则表达式/\{img:(.*?)\}/:
    • \{和\}:转义正则里的特殊字符,精准匹配字面量的{和}
    • img::匹配固定的前缀标识
    • (.*?):非贪婪捕获组,专门抓取{img:和}之间的图片URL内容(避免匹配到多个}的情况)
  • 替换模板<img src='$1' style='width:100%' />:
    • $1是正则捕获组的引用,会自动替换成刚才抓取到的图片URL

最终输出效果

运行代码后,会直接得到你想要的结果:

A quick brown fox <img src='https://imageurl.com/fox.jpg' style='width:100%' /> jumps over the lazy dog <img src='https//:imageurl.com/dog.jpg' style='width:100%' />.

顺便提一句:你示例里的第二个URL有个小格式错误(https//:应该是https://),不过替换逻辑不受影响,会原样保留你输入的URL内容。

内容的提问来源于stack exchange,提问作者Opu Hossain Hawlader

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:21:57