0

私は比較的 PHP に慣れていないので、すべての URL をクリック可能なリンクに変換し、画像拡張子 (jpg、png、gif) を持つすべての URL を画像に変換する関数が必要です。

だから私がこれまで持っているのは

    function linkandimage($str) {
     $return = preg_replace('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@', '<a href="$1" target="_blank">$1</a>', $str);
   return $return;
    }

これはリンクで検索できますが、画像の解決策はありません。どんな助けでも素晴らしいでしょう、

ありがとう

4

1 に答える 1

0

さて、あなたはそれの半分を持っていました。画像を検索するには、正規表現に別のコンポーネントを追加するだけです。

function linkandimage($str) {
  $return = preg_replace('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?\.(gif|png|jpe?g))@', '<img src="$1" />', $str);
  $return = preg_replace('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@', '<a href="$1" target="_blank">$1</a>', $return);

  return $return;
}
于 2012-08-12T08:00:47.087 に答える