データベースに挿入する前に、コメント内の検出されたURLにタグを自動的に追加するには、次のコマンドを使用します。PHPで検出されたURLにhttp://を追加する
$pattern = "@\b(https?://)?(([0-9a-zA-Z_!~*'().&=+$%-]+:)?[0-9a-zA-Z_!~*'().&=+$%-]+\@)?(([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-zA-Z_!~*'()-]+\.)*([0-9a-zA-Z][0-9a-zA-Z-]{0,61})?[0-9a-zA-Z]\.[a-zA-Z]{2,6})(:[0-9]{1,4})?((/[0-9a-zA-Z_!~*'().;?:\@&=+$,%#-]+)*/?)@";
$text_with_hyperlink = stripslashes(preg_replace($pattern, '<a href="\0" class="oembed">\0</a>', $body));
すべてが、私は任意のURLの「のhttp://」なしで入力されている願っているという事実から離れて素晴らしい作品、それは、URLの先頭に追加しています。
コメントを含有する上記のコードで
ユーザーの種類は、私が望む「私たちのサイトwww.facebook.comを訪問来る」しかし場合
戻り
come visit our site <a href="http://www.facebook.com">http://www.facebook.com</a>
「私たちのサイトhttp://www.facebook.comを訪問してきます」 http://接頭辞を含むURLを返します。
この種の検出を行うためにコードを変更するにはどうすればよいですか?
編集:もともと言及に失敗した私の謝罪はまた、www以外のものを検出する能力でなければなりません。理想的には、m.facebookやfacebook.comなどのドメイン。
HTTP ://stackoverflow.com/questions/910912/extract-urls-from-text-in-php –
とこれ:http://stackoverflow.com/questions/1925455/how-to-mimic-stackoverflow-auto-link-行動 –
とこのhttp://css-tricks.com/snippets/php/find-urls-in-text-make-links/ –