Doğru Cevap
-
function url_to_link($text, $str_length = 10) { return preg_replace( array( '/(?(?=<a[^>]*>.+<\/a>) (?:<a[^>]*>.+<\/a>) | ([^="\']?)((?:https?|ftp|bf2|):\/\/[^<> \n\r]+) )/iex', '/<a([^>]*)target="?[^"\']+"?/i', '/<a([^>]+)>/i', '/(^|\s)(www.[^<> \n\r]+)/iex', '/(([_A-Za-z0-9-]+)(\\.[_A-Za-z0-9-]+)*@([A-Za-z0-9-]+) (\\.[A-Za-z0-9-]+)*)/iex' ), array( "stripslashes((strlen('\\2')>0?'\\1<a href=\"\\2\">'.substr('\\2',0,$str_length).'...</a>\\3':'\\0'))", '<a\\1', '<a\\1 target="_blank">', "stripslashes((strlen('\\2')>0?'\\1<a href=\"http://\\2\" target=\"_blank\">'.substr('\\2',0,$str_length).'...</a>\\3':'\\0'))", "stripslashes((strlen('\\2')>0?'<a href=\"mailto:\\0\">\\0</a>':'\\0'))" ), $text ); }
Kullanım :url_to_link("Google'ın yeni doodle'ını gördünüz mü? www.google.com",10);
Çıktısı :Google'ın yeni doodle'ını gördünüz mü? www.google...
-
bensedat18
eywallah hocam çok teşekkür ediyorum.
bir de bu üç nokta olayını misal sadece 20 karakterden uzun linkler için nasıl koyabiliriz hocam?11 yıl önce yazılmış -
Hasan
function url_to_link($text, $str_length = 10) { return preg_replace( array( '/(?(?=<a[^>]*>.+<\/a>) (?:<a[^>]*>.+<\/a>) | ([^="\']?)((?:https?|ftp|bf2|):\/\/[^<> \n\r]+) )/iex', '/<a([^>]*)target="?[^"\']+"?/i', '/<a([^>]+)>/i', '/(^|\s)(www.[^<> \n\r]+)/iex', '/(([_A-Za-z0-9-]+)(\\.[_A-Za-z0-9-]+)*@([A-Za-z0-9-]+) (\\.[A-Za-z0-9-]+)*)/iex' ), array( "stripslashes((strlen('\\2')>0?'\\1<a href=\"\\2\">'.((strlen('\\2') > 20) ? substr('\\2',0,$str_length).'...' : '\\2').'</a>\\3':'\\0'))", '<a\\1', '<a\\1 target="_blank">', "stripslashes((strlen('\\2')>0?'\\1<a href=\"http://\\2\" target=\"_blank\">'. ((strlen('\\2') > 20) ? substr('\\2',0,$str_length).'...' : '\\2') .'</a>\\3':'\\0')) ", "stripslashes((strlen('\\2')>0?'<a href=\"mailto:\\0\">\\0</a>':'\\0'))" ), $text ); } echo url_to_link("Google'ın yeni doodle'ını gördünüz mü? http://www.google.com",15); // http://www.goog... echo url_to_link("Google'ın yeni doodle'ını gördünüz mü? http://google.com",15); // http://google.com
Commentlerde çıktılarını yazdım.11 yıl önce yazılmış -
bensedat18
teşekkür ederim hocam :).11 yıl önce yazılmış -
Hasan
Rica ederim ;)11 yıl önce yazılmış
-
Cevaplar
Hiç cevap bulunamadı.