Asp - Php - Cgi - Perl
Php Text Olarak Girilmiş Tüm Urller Nasıl A Tagına Dönüştürebilirim
Php Text Olarak Girilmiş Tüm Urller Nasıl A Tagına Dönüştürebilirim
-
Herkese selam,
Sormak istediğim php de bir string içerisindeki tüm url'leri link yapmak istiyorum, bunu regex' le yapabiliyorum ama benim istediğim eğer string içerisinde youtube urlsi varsa onu çevirmeyecek. Bunu nasıl yapabilirim.
-
-
$urlReq = '@(http)?(s)?(://)?(([a-zA-Z])([-\w]+\.)+([^\s\.]+[^\s]*)+[^,.\s])@';
$entry = preg_replace($urlReq, '<a href="http$2://$4" target="_blank" title="$0">$0</a>', $entry);
$entry = preg_replace("/\s*[a-zA-Z\/\/:\.]*youtube.com\/watch\?v=([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i","<br/><iframe width=\"420\" height=\"315\" src=\"//www.youtube.com/embed/$1\" frameborder=\"0\" allowfullscreen></iframe>",$entry);
en sondakini ekleyince saçma sapan birşey oluyor :)
-
nepnesomao bunu yazdı
$urlReq = '@(http)?(s)?(://)?(([a-zA-Z])([-\w]+\.)+([^\s\.]+[^\s]*)+[^,.\s])@';
$entry = preg_replace($urlReq, '$0', $entry);
$entry = preg_replace("/\s*[a-zA-Z\/\/:\.]*youtube.com\/watch\?v=([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i","
< =""//www.youtube.com//$1"" width=""420"" height=""315"" border=""0"" allowfullscreen="allowfullscreen">",$entry);en sondakini ekleyince saçma sapan birşey oluyor :)
preg replace tüm linkleri tek seferde mi çeviriyordu
-
evet hocam aslında benim yapmak istediğim '@(http)?(s)?(://)?(([a-zA-Z])([-\w]+\.)+([^\s\.]+[^\s]*)+[^,.\s])@' bu regex' e youtube.com hariç ifadesi eklemek ama nasıl eklerim bilemedim.
-
Hostname'i regex deseninde belirtmeye çalışmak işleri karıştırmaktan başka işe yaramaz. Onun yerine desenini preg_replace_callback ile çağırıp kontrolü kendin yaparsan daha iyi olur. Bu ileride sana youtube dışında birçok başka alan adlarını da eleme imkanı verir.
$degistirilen_icerik = preg_replace_callback( "@(http)?(s)?(://)?(([a-zA-Z])([-\w]+\.)+([^\s\.]+[^\s]*)+[^,.\s])@", function ($m) { if(parse_url($m[0], PHP_URL_HOST) == "www.youtube.com") return $m[0]; #URL host'u www.youtube.com ise olduğu gibi bırak #değilse a etiketi oluştur return sprintf('<a href="%1$s">%1$s</a>', htmlentities($m[0])); }, $icerik); echo $degistirilen_icerik;
-
Dostlar yeni bir konu açmayayım buradan devam edeyim dedim
Üzerine kafa patlattığım şey textarea' ya girilen text i convert etmek resimdeki see also , check, *, spoiler butonlarını halettim de http:// yi çözemedim.
http butonuna tıklayınca şöyle bir yazı oluşuyor [http://blabla.com ~ başlık] ben bunun <a href="http://blabla.com">başlık</a> şeklinde dönüştürmem gerekiyor ama bi türlü beceremedim
-
nepnesomao bunu yazdı
Dostlar yeni bir konu açmayayım buradan devam edeyim dedim
Üzerine kafa patlattığım şey textarea' ya girilen text i convert etmek resimdeki see also , check, *, spoiler butonlarını halettim de http:// yi çözemedim.
http butonuna tıklayınca şöyle bir yazı oluşuyor [http://blabla.com ~ başlık] ben bunun başlık şeklinde dönüştürmem gerekiyor ama bi türlü beceremedim
hangi script abi bu ? kodu ata bakalim
-
$dd = $request->icerik;
$dd = str_replace("\\r\\n", ' <br/>', $dd);
// url replace
$urlRegex = '/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/';
$dd = preg_replace($urlRegex, "<a href=\"$0\">$0</a>", $dd);
// ! url replace
$dd = preg_replace("/\s*[a-zA-Z\/\/:\.]*youtube.com\/watch\?v=([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i", "<br><iframe width='420' height='315' src='//www.youtube.com/embed/$1' frameborder='0' allowfullscreen></iframe><br>", $dd);
$dd = str_replace("[spoiler]", "<span class='spn-spoiler'>Spoiler</span></span><div class=\"spoiler\">", $dd);
$dd = str_replace("[/spoiler]", "</div>", $dd);
$dd = preg_replace('/\(see also:([^)]*)\)/', '(see also: <a href="/entries/search?q=$1">$1</a>)', $dd);
laravel' le proje geliştiriyorum bu php de parse olaylarını bi yapamadım gitti :)
-
nepnesomao bunu yazdı
$dd = $request->icerik;
$dd = str_replace("\\r\\n", '
', $dd);// url replace
$urlRegex = '/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/';
$dd = preg_replace($urlRegex, "$0", $dd);
// ! url replace
$dd = preg_replace("/\s*[a-zA-Z\/\/:\.]*youtube.com\/watch\?v=([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i", "
< ="//www.youtube.com//$1" width="420" height="315" border="0" allowfullscreen="allowfullscreen">
", $dd);$dd = str_replace("[spoiler]", "Spoiler
", $dd);$dd = str_replace("[/spoiler]", "
$dd = preg_replace('/\(see also:([^)]*)\)/', '(see also: $1)', $dd);
laravel' le proje geliştiriyorum bu php de parse olaylarını bi yapamadım gitti :)
bbcode to html mi
-
end bunu yazdınepnesomao bunu yazdı
$dd = $request->icerik;
$dd = str_replace("\\r\\n", '
', $dd);// url replace
$urlRegex = '/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/';
$dd = preg_replace($urlRegex, "$0", $dd);
// ! url replace
$dd = preg_replace("/\s*[a-zA-Z\/\/:\.]*youtube.com\/watch\?v=([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i", "
< ="//www.youtube.com//$1" width="420" height="315" border="0" allowfullscreen="allowfullscreen">
", $dd);$dd = str_replace("[spoiler]", "Spoiler
", $dd);$dd = str_replace("[/spoiler]", "
$dd = preg_replace('/\(see also:([^)]*)\)/', '(see also: $1)', $dd);
laravel' le proje geliştiriyorum bu php de parse olaylarını bi yapamadım gitti :)
bbcode to html mi
adı bbcode mu oluyor :) bilmiyordum öyle birşey yapmaya uğraşıyorum