php - 检测图像 URL 并包裹在 IMG 标签中?
问题描述
尝试破解 Wordpress 安装以在特定插件的评论部分添加更多用户友好性。
给定三种情况:
1
This is a sentence and image on a newline
http://imgur.com/image.gif
2
This is a sentence http://imgur.com/image.gif
3
This is a sentence and an image with IMG tags entered by user already
<img src="This is a sentence http://imgur.com/image.gif" alt="" />
当显示来自用户的这三种类型的评论时,我想让 PHP 仅检测第一种情况和第一种情况 - 换行符上的图像 url(以常见图像扩展名结尾的 URL)并简单地将其包装在<img>
标签中显示。
鉴于评论的字符串,我遇到问题的部分,PHP如何准确检测这样的图像链接?
我觉得这可以用正则表达式来完成,但我从来没有非常熟练地使用它?还是更复杂?
解决方案
您可以使用此正则表达式将查看每行的开头 ( (?m)^
)、任意数量的水平空格 ( \h*
)(空格或制表符),然后是 HTTP 协议 ( https?://
)。在协议之后,它需要任何非空格字符 ( \S+?
)(因为 URL 不能有空格),直到允许的扩展名 ( jpe?g|gif|png|tiff|svg
)。
(?m)^\h*(https?://?\S+?\.(?:jpe?g|gif|png|tiff|svg))
用。。。来代替:
<img src="$1" />
推荐阅读
- postgresql - PostgreSQL 对索引长于没有索引的列的查询
- php - 如何使用理论 ORM 在 Symfony 中设置初始数据(不是测试数据)
- c++ - 如何在不使用数组的情况下返回输入的最小值
- typescript - 如何在打字稿中定义续集关联?
- haskell - 将列表转换为矩阵 (Haskell)
- swift - 禁止在 Swift 中设置特定值
- php - 这是使导航栏显示当前处于活动状态的页面的最佳方式吗?
- scala - 测量 spark mllib 分类算法的预测时间
- java - 在java vertx中调用存储过程时出错
- linux - 具有特定字符数的 Grep 行,包括换行符