Wiki Syntax nach HTML umwandeln. aber wie ?

Male

Mitglied
Hallo liebe Leute,

ich stehe vor einem Problem und komme nicht wirklich weiter.
In einer textarea soll die Wiki Syntax genutzt werden, sprich wenn der User den ein Wort fett gedruckt haben möchte, markiert er das Wort und drückt den Bold-Button.

Ich bin jetzt soweit, dass nach der Betätigung des Buttons das Wort in der Wiki Syntax angezeigt wird, also '''selektiertes Wort'''.
Nun soll diese Syntax in <strong>selektiertes Wort</strong> umgewandelt werden.
Dazu habe ich den folgenden Code in PHP geschrieben.

PHP:
$output = "";
		$pos = 0;
		
		do {
		// sucht die textarea ab nach dem ersten '''
		$anfang = strpos("\'\'\'",$inp,$pos);
		
		// nachdem dem finden wird ein zweiter anfang für den html tag gebraucht
		// um diesen einzufügen
		$pre_anfang = substr(0,$anfang + 1,$inp);
		$output = $output.$pre_anfang."<strong>";
		
		// die position wird nach drei stellen nach vorne gerückt
		$pos = $anfang + 3;
		
		// nun wird nach dem zweiten ''' gesucht um ein </strong> zu setzen
		$neuer_anfang = strpos("\'\'\'",$inp,$pos);
		$output = $output.substr($pos,$neuer_anfang + 1,$inp);
		$output = $output."</strong>";
		$pos = $neuer_anfang + 3;
		} while ($anfang === false);
		
		$output = $output.substr($pos,$inp);

Jedoch klappt dies leider nicht wirklich. Dummerweise finde ich nun den Fehler nicht in diesen Code. Daher frage ich Euch um Rat.
Kurz zur Variablen Erklärung $inp ist der Inhalt der textarea.

Besten Dank.
 
Es ist eine do-while-Schleife, also wird sie schon aufjedenfall 1x durchlaufen, aber naja.... das was du da hast ist eine Endlosschleife^^

Aber da ist glaub ich noch etwas.... Dein Grundgedanke ist wohl richtig im Code aber du musst einen Anfang besser Kennzeichnen sowie ein Ende..

Sogesehen könnte man dein Code mit einem RegExp lösen..

preg_replace('~\'\'\'(.*?)\'\'\'~',"<b>$1</b>", "'''Halloo'''");

Tipp:

http://www.tutorials.de/forum/php-codeschnipsel/270271-bb-decode-funktion.html
 
Zurück