2

重複の可能性:
正規表現関数のリンクPHP大胆な火の玉メソッド

文字列からURLを取得しようとしていますが、これがあります

$link_count = count(explode('http',$post));
if($link_count > 0){
    preg_match_all("#https?://[^.\s]+\.[^\s]+#ix", $note, $matches);
    foreach(){} etc..
}

ここでの問題は、このようなURLも検出できるようにしたいことです。 http://www.link.comまたはwww.link.comまたはlink.com追記:ここで同様の質問を検索しましたが、これらすべてのタイプのURLに対応する質問は見たことがありません。

ありがとうございました。

4

2 に答える 2

2

試す

"/\b((http(s)?:\/\/)?(www\.[a-zA-Z0-9\/\\\:\?\%\.\&\;=#\-\_\!\+\~\,]*))/is

また、マリオが言ったように、プロトコル プレフィックスのないリンクは技術的にはリンクではありません。

于 2013-01-06T15:11:50.737 に答える
1

この正規表現を試してください:

#(https?://)?([a-z0-9-]+\.)+[a-z0-9]+/?#i
于 2013-01-06T14:52:40.380 に答える