私は今かなり探し回っていますが、私の状況でうまくいくための提案を得ることができません。否定的な先読みや後読みで成功を見てきましたが、本当に理解できません。
RegExp を使用してテキスト ブロック内の URL を検索したいのですが、引用された場合は無視します。まだ完全ではありませんが、URL を見つけるために次の方法があります。
(https?\://)?(\w+\.)+\w{2,}(:[0-9])?\/?((/?\w+)+)?(\.\w+)?
私はそれを次のように一致させたい:
www.test.com:50/stuff
http://player.vimeo.com/video/63317960
odd.name.amazone.com/pizza
しかし一致しません:
"www.test.com:50/stuff
http://plAyerz.vimeo.com/video/63317960"
"odd.name.amazone.com/pizza"
編集:
明確にするために、式を通じてテキストの段落全体を渡すことができます。私が以下に欲しいもののサンプル段落:
次のリンクがwww.example.comにあることを望みます。ただし、このリンクは無視する必要があります"www.example.com"。「www.example.comとwww.example.com」も無視すると便利ですが、必須ではありません。
以下で作業している別のサンプル。言語はphpです:
$articleEntry = "Hey guys! Check out this cool video on Vimeo: player.vimeo.com/video/63317960";
$pattern = array('/\n+/', '/(https?\:\/\/)?(player\.vimeo\.com\/video\/[0-9]+)/');
$replace = array('<br/><br/>',
'<iframe src="http://$2?color=40cc20" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>');
$articleEntry = preg_replace($pattern,$replace,$articleEntry);
上記の結果は、改行 "\n" を 2 つの改行 "
" に置き換え、Vimeo アドレスを iframe とリンクに置き換えることで Vimeo ビデオを埋め込みます。