我想在html页面上将图像的超链接发布到嵌入图像中。所以,我正在设置一些正则表达式语法,但我遇到了困难 我希望有人可以提供帮助。
我想转而,例如;
http://www.example.com/images/some_directory/logo.png
进入
<img src='http://www.example.com/images/some_directory/logo.png'>
所以,我希望能够为所有典型的图像类型执行此操作。到目前为止,我已经拼凑了这个,但无法弄清楚如何完成语法。
<?php
$pic = 'http://www.example.com/images/some_directory/logo.png';
function post_image($pic)
{
return preg_replace('!((http(s)?://)[-a-z]+)!', '<img src="$1">', $pic);
}
$pic = post_image($pic);
echo $pic;
答案 0 :(得分:1)
你也许可以尝试这样的正则表达式:
'!((?:https?://)?[-a-z_/.]+\.(?:png|jpg|bmp|gif))!i'
我放了png
,jpg
,bmp
和gif
的扩展名;如果你愿意,你可以添加更多。
答案 1 :(得分:0)
使用preg_match然后在你的网址周围构建<img src...
字符串可能会更容易,如果它是正确的 - 这样的话吗?
<?php
$pic = 'https://example.com/i/like/aardvarks.gif';
function post_image($pic)
{
$pattern = '^(?:http|https).*(?:\.jpg|\.jpeg|\.png|\.gif)$';
if (preg_match($pattern, $pic))
return '<img src="{$pic}">';
else
return $pic;
}
$pic = post_image($pic);
echo $pic;
您可能还想将i-modifier (same for javascript and php, so this guide will work fine)添加到正则表达式的末尾,以忽略大小写(因为您可能会获得JPEG,jPEG,JPG,gIf以及各种有趣的变体)。