【PHP】下らねぇ質問はID出して書き込みやがれ 137
■ このスレッドは過去ログ倉庫に格納されています
0187177
2014/10/05(日) 01:47:24.09ID:???皆様ありがとうございます。
h抜けているurlにhを補完して、hrefをつける手法にしました
しかし、拡張子のあとに英数字とアンダーバーがあると失敗します。
例
「ttp://aaa/123456.jpg ああああ」はh補完成功 ok
「ttp://aaa/123456.jpgああああ」はh補完成功 ok
「ttp://aaa/123456.jpgppp」はh補完成功するが拡張子に余分な文字列がつく ng
私の正規表現の理解度ではこれが限界です。
改善策はありますでしょうか?
if(preg_match("@([^h]{1}ttp)(s)?:\/\/([^<]+)(\.([^.<\W]+))(\W*)(\s*)(?:[<][^<]+[>])@si", $html)){
$string = $html;
$pattern = "@([^h]{1}ttp)(s)?:\/\/([^<]+)(\.([^.<\W]+))(\W*)(\s*)(?:[<][^<]+[>])@si";
$replacement ="<a href=\"http$2://$3$4\">http$2://$3$4</a><br/>";
$html = preg_replace($pattern, $replacement, $string);
}
■ このスレッドは過去ログ倉庫に格納されています