2016-04-01 16 views
-1

Ich mache eine Website, und ich möchte eine benutzerdefinierte Markup-Sprache in PHP machen. Ich möchte, dass die Tags mit [ und ] umgeben sind. Nun, ich habe darüber nachgedacht, wie jemand würde, und ich könnte etwas tun:PHP Benutzerdefinierte Markup Language Parser

function formatMarkup($markup = ''){ 
    $markup = str_replace('[color=blue]', '<span style="color: blue">', $markup); 
    return $markup 
} 

Auch wenn das funktionieren könnte, wäre es sein progrematically richtig, wenn es so etwas wie explode() tun würde, aber ab jede [ und endend bei jeder ]. Das wäre großartig, wenn ich es herausfinden würde. Danke für deine Zeit und Mühe.

EDIT: Ich habe mich entschieden, preg_split() zu verwenden. Es scheint nett und alles, aber ich kann die Regex nicht bekommen. Here is my code.

EDIT # 2: Ich habe die meisten Regex getan, aber es gibt nicht benötigte zusätzliche Schlüssel im Array. Wie würde ich sie reparieren? Here is my new code.

Antwort

0

Ich habe meine Auszeichnungssprache erstellt. Ich benutzte

$split = preg_split("/(\[|\])/", $markup); 

die einzelnen „Tags“ und

foreach($split as $k => $v){ 
     if(strlen($v) < 1){ 
      continue; 
     } 

durch jeden von ihnen Analphabeten zu gewöhnen, und prüfen Sie, ob der Wert leer ist. Danach würde ich alle meine Prüfungen durchführen und die Codeblöcke zusammen analysieren und Zeile für Zeile den neu erstellten Text erstellen.