0

投稿された画像のハイパーリンクを、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;
4

2 に答える 2

0

preg_match を使用して、<img src...それが正しければ、URL の周りに文字列を作成する方が簡単かもしれません - このようなものですか?

<?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 (javascript と php で同じなので、このガイドは問題なく動作します)を追加することをお勧めします(JPEG、JPEG、JPG、gIf を取得する可能性があるため)。あらゆる種類の面白いバリエーション)。

于 2013-09-27T00:54:33.130 に答える