wmaraci reklam
tr.link

Özel Kod ile Listeleme

2 Mesajlar 699 Okunma
acebozum
tr.link

mucosoft mucosoft Mucosoft Kullanıcı
  • Üyelik 07.10.2013
  • Yaş/Cinsiyet 26 / E
  • Meslek Bilgisayar Programcısı
  • Konum Giresun
  • Ad Soyad M** E**
  • Mesajlar 648
  • Beğeniler 181 / 81
  • Ticaret 5, (%100)
BBCode veya MyCode adlı sistemleri bilirsiniz. Bende ona benzer bir sistem yaptım ve biraz geliştirdim. Fakat takıldığım bir nokta var. Örneğin bu sistemde listeleme nasıl yapılıyor? Araştırdım fakat istediğim sonuçlara ulaşamadım. Tam olarak anlatamadım desem daha doğru olur sanırım.

$input = "[color=#bdeebf]Merhaba[/color] İnsanlar!";

$first = array("~\[color\=(.*?)](.*?)\[/color\]~s");

$second = array("$2");

$output = preg_replace($first, $second, $input);

echo($output);


Örneğin burada örnek bir renklendirme kodu var. Burada bir sorun yok, bunu açıklayacağım soruyu daha iyi anlamanız için gösteriyorum. Peki nasıl liste yapılır? Örneğin şu şekilde bir girdi olacak:


[Liste]
* Madde 1
* Madde 2
* Madde 3
[/Liste]


Çıktı:


  • Madde 1

  • Madde 2

  • Madde 3



Yani kod bloğunun içindeki sistemi nasıl yapacağım? Sanırım demek istediğimi anladınız. "*" işareti koyunca madde olarak algılıyor. Bunu yapmaya çalışıyorum.
 

 

googleasistan
reklam

sovetski sovetski ♛ PHP ♛ Kimlik Onayı
  • Üyelik 03.08.2015
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılımcı
  • Konum Fransa
  • Ad Soyad A** H**
  • Mesajlar 1205
  • Beğeniler 437 / 458
  • Ticaret 2, (%100)
Kucuk bir sey yazdim gelistirmesi size kalsin :)

$text = "[Liste]
* Madde 1
* Madde 2
* Madde 3
[/Liste]";

function bbcodeLister($line) {
return("
  • " . str_replace("*", "", $line) . "
  • ");
    }

    function bbcodeToList($text) {

    $first = "~\[Liste](.*?)\[/Liste\]~s";

    $second = "$1";

    $text = preg_replace($first, $second, $text);
    $text = explode("\n", trim($text));
    $text = array_map("bbcodeLister",$text);

    return "
      " . implode("\n", $text) . "
    ";
    }

    echo bbcodeToList($text);


    Bu arada "*" isaretine gerek yok yani sadece yeni satira gecerek listeye yeni bir sey ekleniyor
    mucosoft

    kişi bu mesajı beğendi.

    wmaraci
    wmaraci
    Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
    Site Ayarları
    • Tema Seçeneği
    • Site Sesleri
    • Bildirimler
    • Özel Mesaj Al