wmaraci reklam
lidertakipci

Özel Kod ile Listeleme

2 Mesajlar 611 Okunma
advertseo
wmaraci reklam

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.
 

 

wmaraci
reklam

sovetski sovetski ♛ PHP ♛ Kimlik Onayı
  • Üyelik 03.08.2015
  • Yaş/Cinsiyet 26 / 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
    Konuyu toplam 2 kişi okuyor. (0 kullanıcı ve 2 misafir)
    Site Ayarları
    • Tema Seçeneği
    • Site Sesleri
    • Bildirimler
    • Özel Mesaj Al