v2.5.2
Giriş yap

PHP ile Manuel Değişken Tanımlama

redline
240 defa görüntülendi

Merhaba PT.

Text içeriğin içinde bizim tanımlayacağımız örneğin {{ başlık }} şeklinde yazıların yerine içerik bastırma işlemi yapmak istiyorum.

Bunu PHP ile yapabilir miyim? Yapamazsam jQuery ile yapabilir miyim? :)

Örneğin;


<!-- Normal metin içinde işaretlenmiş yer. -->

<div>
    Bu alanın içinde {{baslik}} için bir soru var.
</div>



// İşaretlenmiş yerle değişecek içerik. (HTML vb. içerik de bastırabilmemiz lazım.)

$baslik = '<strong>Protürk'ün kıymetli üyeleri</strong>';


<!-- İstenilen sonuç. -->

<div>
    Bu alanın içinde <strong>Protürk'ün kıymetli üyeleri</strong> için bir soru var.
</div>

Süslü parentezleri örnek olarak verdim. {{- baslik -}} şeklinde de olabilir.

Aynı sayfada birden çok işlemi yapabilmemiz lazım.

Mantığı anlatabilmişimdir umarım. Yardımlarınızı bekliyorum. :)

Cevap yaz
Cevaplar (2)
tayfunerbilen
443 gün önce

str_replace() ile replace edebilirsiniz:


<?php
$text = 'Bu alanın içinde {{baslik}} için bir soru var.';
function replaceTags($text) {
    return str_replace(
        ['{{baslik}}'],
        ['<strong>Protürk\'ün kıymetli üyeleri</strong>'],
        $text
    );
}
?>

<div>
    <?=replaceTags($text)?>
</div>

ama sen direk html'e mudahale edeyim bunu php degiskenine almayayim diyorsan output buffer metodlari isine yarayabilir. Yani:

<?php

function replaceTags($text) {
    return str_replace(
        ['{{baslik}}'],
        ['<strong>Protürk\'ün kıymetli üyeleri</strong>'],
        $text
    );
}

ob_start();
?>

<div>
    Bu alanın içinde {{baslik}} için bir soru var.
</div>

<?php
$output = ob_get_clean();
echo replaceTags($output);
?>
redline
443 gün önce

@tayfunerbilen Hocam str_replace() ile yapıyordum daha önce. Asıl amacım sayfada {{item}} içinde geçen başlıkları otomatik olarak algılatıp aynı isimdeki değişkenleri oralara bastırmak. İkinci örnekteki istediğime yakın bir çözüm. ob_start olayını araştırmam gerek sanırım biraz. Ben bunu config.php'ye ekliyorum ne işe yaradığını bilmeden. :) Oradan her sayfanın başında başlatıyor.

Udemy kursunuzda 156. PHP/Ajax Daha Fazlasını Göster Uygulaması dersinizde de kullanmıştınız bunu.