检测图像 URL 并包裹在 IMG 标签中?
Detect image URL and wrap in IMG tags?
尝试破解 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 如何准确地检测到这样的图像 link?
我觉得这可以用正则表达式来完成,但我从来没有非常熟练地使用它?还是更复杂?
您可以使用此正则表达式将查看每行的开头 ((?m)^
)、任意数量的水平白色 space (\h*
) (space s 或制表符),然后是 HTTP 协议 (https?://
)。在协议之后,它采用任何非 space 字符 (\S+?
)(因为 URL 不能有 spaces)直到允许的扩展名 (jpe?g|gif|png|tiff|svg
).
(?m)^\h*(https?://?\S+?\.(?:jpe?g|gif|png|tiff|svg))
替换为:
<img src="" />
尝试破解 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 如何准确地检测到这样的图像 link?
我觉得这可以用正则表达式来完成,但我从来没有非常熟练地使用它?还是更复杂?
您可以使用此正则表达式将查看每行的开头 ((?m)^
)、任意数量的水平白色 space (\h*
) (space s 或制表符),然后是 HTTP 协议 (https?://
)。在协议之后,它采用任何非 space 字符 (\S+?
)(因为 URL 不能有 spaces)直到允许的扩展名 (jpe?g|gif|png|tiff|svg
).
(?m)^\h*(https?://?\S+?\.(?:jpe?g|gif|png|tiff|svg))
替换为:
<img src="" />