• 24-08-2018, 21:22:27
    #1
    Arkadaşlar içerik alanındaki Bazı kelimeleri bold olarak değiştirmek istiyorum fakat metindeki kelimelerle birlikte içerik alanında ekli resimlerin de title ve alt değişiyor buda resimleri bozuyor ben html tagı içinde olanlarda geçerli olmasın istiyorum nasıl sağlarım acaba.

    METİN: Yani bu metin içindeki kelime1 lerin ilk üç tanesi değişecek ama alttaki image tagı içindeki title, alt bölümünde yazan aynı kelimeler değişmeyecek html tagı içinde olanlara işlem yapmayacak yani.

    Ayrıca sadece ilk 3 kelimede bu işlemi yaptırmak istiyorum alttaki kodda hangi değişiklikleri yapmam gerekli teşekkürler.

    <img title="kelime1" src="http://yogaposes8.com/wp-content/uploads/2016/02/move-of-the-day-fish-pose-matsyasana-peaceful-dumpling.jpg" alt="kelime1" />


    kod;


    function replace_content($text) {
    $replace = array(
    'kelime1' => '<strong>kelime1</strong>',
    'kelime2' => '<strong>kelime2</strong>',
    );

    $text = str_replace(array_keys($replace), $replace, $text);
    return $text;
    }

    add_filter('the_content','replace_content');
  • 24-08-2018, 21:57:18
    #2
    “kelime” yerine “ kelime” veya istediğin kısmı bölerek onun içinden işlem yapabilirsn preg match all ile
  • 24-08-2018, 22:08:43
    #3
    Sinemium adlı üyeden alıntı: mesajı görüntüle
    “kelime” yerine “ kelime” veya istediğin kısmı bölerek onun içinden işlem yapabilirsn preg match all ile
    Teşekür ederim. İşlemin şu ifadeye "<img" kadar olan içerikte gerçeklemesini nasıl sağlarım yani bu ifadeden "<img" önceki metin içerisinde.
  • 24-08-2018, 23:41:03
    #4
    preg match all hocam
  • 25-08-2018, 00:49:57
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    $metin = '<img title="kelime1" src="http://yogaposes8.com/wp-content/uploads/2016/02/move-of-the-day-fish-pose-matsyasana-peaceful-dumpling.jpg" alt="kelime1" />';


    preg_match_all('@alt="(.*?)"@si',$metin,$ayir);

    $kelime = $ayir[1][0];

    $t = array($kelime);
    $t1 = array("<strong>$kelime</strong>");
    $degistir = str_replace($t,$t1,$metin);

    echo $degistir;



    Bu şekilde istediğini yapabilirsin hocam
  • 25-08-2018, 18:26:31
    #6
    Malesef bu benim istediğimi sağlamıyor hocam.

    mavimobi adlı üyeden alıntı: mesajı görüntüle
    $metin = '<img title="kelime1" src="http://yogaposes8.com/wp-content/uploads/2016/02/move-of-the-day-fish-pose-matsyasana-peaceful-dumpling.jpg" alt="kelime1" />';


    preg_match_all('@alt="(.*?)"@si',$metin,$ayir);

    $kelime = $ayir[1][0];

    $t = array($kelime);
    $t1 = array("<strong>$kelime</strong>");
    $degistir = str_replace($t,$t1,$metin);

    echo $degistir;



    Bu şekilde istediğini yapabilirsin hocam