Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

preg_match kullanımı

Konu, 'PHP' kısmında bayramgeldi tarafından paylaşıldı.

Etiketler:
  1. bayramgeldi

    bayramgeldi Yeni Üye

    Kayıt:
    24 Ocak 2019
    Mesajlar:
    3
    Beğenilen Mesajlar:
    0
    Şehir:
    istanbul
    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.
     
  2. sefa1471

    sefa1471 Üye

    Kayıt:
    13 Mart 2014
    Mesajlar:
    184
    Beğenilen Mesajlar:
    20
    Meslek:
    Öğrenci
    Şehir:
    Ankara
    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>";
     
    bayramgeldi bunu beğendi.
  3. bayramgeldi

    bayramgeldi Yeni Üye

    Kayıt:
    24 Ocak 2019
    Mesajlar:
    3
    Beğenilen Mesajlar:
    0
    Şehir:
    istanbul
    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
     
  4. sefa1471

    sefa1471 Üye

    Kayıt:
    13 Mart 2014
    Mesajlar:
    184
    Beğenilen Mesajlar:
    20
    Meslek:
    Öğrenci
    Şehir:
    Ankara
    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]);
        
    $devamexplode(" "$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;

     
    bayramgeldi bunu beğendi.
  5. bayramgeldi

    bayramgeldi Yeni Üye

    Kayıt:
    24 Ocak 2019
    Mesajlar:
    3
    Beğenilen Mesajlar:
    0
    Şehir:
    istanbul
  6. sefa1471

    sefa1471 Üye

    Kayıt:
    13 Mart 2014
    Mesajlar:
    184
    Beğenilen Mesajlar:
    20
    Meslek:
    Öğrenci
    Şehir:
    Ankara