1
以下のコードは、テキストの本文内のURLを検出し、タグでラップします。PHP regexフィルタに条件付きクラスを追加する方法
function link_it($text)
{
$text= preg_replace("/(^|[\n ])([\w]*?)((ht|f)tp(s)?:\/\/[\w]+[^ \,\"\n\r\t<]*)/is", "$1$2<a href=\"$3\" >$3</a>", $text);
$text= preg_replace("/(^|[\n ])([\w]*?)((www|ftp|m)\.[^ \,\"\t\n\r<]*)/is", "$1$2<a href=\"http://$3\" >$3</a>", $text);
$text= preg_replace("/(^|[\n ])([a-z0-9&\-_\.]+?)@([\w\-]+\.([\w\-\.]+)+)/i", "$1<a href=\"mailto:[email protected]$3\">[email protected]$3</a>", $text);
return($text);
}
の特定のドメインを持つ場合、ユーザーがタイプ(上記の機能によって検出された)URLように私はそれをしたいと思い関数はタグテンプレートにクラス」埋め込みを追加するなど(のflickr | Vimeoの|ユーチューブ) 、それ以外の場合は、クラスレスにそれを残し
例えば
'これはウェブサイトwww.google.comである' を返します:。
this is the website <a href="http://www.google.com">http://www.google.com</a>
けどw 'は、このウェブサイトwww.flickr.comは' ould return
this is the website <a href="http://www.flickr.com" class="embed">http://www.flickr.com</a>
これを関数に追加する方法を教えてください。
美しく動作します!ありがとうございました。 parse_urlと組み合わせると、すてきで上品な解決策になります。偉大な答えと私はその機能を認識していないことが少し恥ずかしい! – gordyr
問題ありません。お役に立てて嬉しいです。 – FtDRbwLXw6