Предполагается, что вы используете PHP, а URL хранится в $ url :
if (!preg_match("@^https?\:\/\/@", $url)
{
$url = "http://$url";
}
if (preg_match("@\.(gif|jpe?g|png)$@", $url))
{
echo '<img src="' . $url . '" />"';
}
else
{
echo '<a href="' . $url . '" target="_blank">' . $url . </a>;
}
Это не точный метод, так как некоторые изображения могут быть поданы с правильным MIMEпечатать без указания расширений gif, jpeg, jpg или png.
Это гораздо лучший способ проверить, ссылается ли ссылка на изображение, но требует ли он времени и полосы пропускания.Таким образом, было бы лучше сохранить результат в базе данных в то же время, что и $ url, для последующего повторного использования:
if (!preg_match("@^https?\:\/\/@", $url)
{
$url = "http://$url";
}
$headers = get_headers($url, 1);
$mime_type = isset($headers["Content-Type"]) ? $headers["Content-Type"] : "";
if (preg_match("@\.(gif|jpe?g|png)$@", $url) || preg_match("@^image\/@", $mime_type))
{
$html = '<img src="' . $url . '" />"';
}
else
{
$html = '<a href="' . $url . '" target="_blank">' . $url . '</a>';
}