Merhaba arkadaşlar. PHP preg_match ile ilgili yardımınız gerek. elimde " [http://example.com Google] " şeklinde string var. bunu veritabanından çekerken " <a href:"http://example.com">Google</a> " a dönüştürmem gerek. Umarım anlaşılmıştır. yardım ederseniz sevinirim.
Merhabalar. Buyrun; PHP: $kelime = "[http://example.com Google]";$UrlCek = "/\[(.*)?\ /i";$UrlBaslikCek = "/\ (.*)?\]/i";preg_match($UrlCek, $kelime, $UrlSonuc);preg_match($UrlBaslikCek, $kelime, $UrlBaslikSonuc);echo "<a href='$UrlSonuc[1]'>$UrlBaslikSonuc[1]</a>";
Cevabın için çok teşekkür ederim. İstediğim şeyi problemsiz yapıyor. Ama ben bunu bir yazıdaki urlleri bulmak ve linke dönüştürmek için kullanacaktım. PHP: $reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/"; $text=nl2br($post->content); if(preg_match($reg_exUrl, $text, $url)) { echo preg_replace($reg_exUrl, "<a href=".$url[0].">{$url[0]}</a> ", $text); } else { // if no urls in the text just return the text echo $text; } Bu konuda yardımcı olabilir misiniz. Rahatsızlık için özür dilerim
Biraz karalama yaptım ama yoğunluktan aceleye geldi. Denedim çalışıyor. Biraz değişiklik yapmanda yara var. PHP: function varmi($veri){ if(strstr($veri, "http")) { return "var"; } if(strstr($veri, "https")) { return "var"; } if(strstr($veri, "ftp")) { return "var"; } if(strstr($veri, "www")) { return "var"; }} function aradancek($bununla,$bunun,$metin){ $kes = explode($bununla,$metin); $sayi = count($kes); $baslangic=1; $gerceka=array(); $cikti=array(); while($baslangic <= $sayi) { $yinekes = explode($bunun,$kes[$baslangic]); $devam= explode(" ", $yinekes[0]); $urlmi=varmi($devam[0]); if($urlmi == "var") { $cikti[]="<a href='$devam[0]'>$devam[1]</a>"; $gerceka[]="[$devam[0] $devam[1]]"; } $baslangic++; } $degis = preg_replace($gerceka,$cikti,$metin);return $degis;}$metin = 'deneme [12 12] deneme deneme [http://example.com Google] dsd [http://sexample.com Googsle] deneme deneme [http://asda.com asd] deneme';$top = aradancek('[',']',$metin);echo $top;