phpbar.de logo

Mailinglisten-Archive

[php] BBCode: Wie sinnvoll parsen?

[php] BBCode: Wie sinnvoll parsen?

Sorin Marti mas at semafor.ch
Fre Sep 17 09:31:51 CEST 2004


Nico Haase wrote:

>>Die Einträge deiner Redakteure sind doch sicher irgendwo gespeichert.
>>Wieso parst Du also nicht einmal, wenn sie einen Eintrag machen?
>>
>>Also:
>>[autor]Michael Ende[/autor] => <a href="autoren.php?autorid=123"
>>class="autor">Michael Ende</a>
>>
>>und wenn jemand das ganze editieren will kannst Du den Link anhand von
>>class="autor" als Autoren-tag identifizieren und rückübersetzen.
>>
>>Das ist nur so eine Idee. Nicht gestestet oder ausprobiert.
>>    
>>
>
>Das klingt doch mal richtig gut! Auf die Idee bin ich noch nicht gekommen -
>aber kannst du mir nen Stups geben, wie die Regechse fürs Zurückparsen
>aussehen würde?
>mfg
>Nico
>  
>
Also ich bin nicht der regex-Held, aber ungefähr so würds wohl aussehen:

<code>
$string = "[autor]Michael Ende[/autor]";
//Nur der Autor
$autor = ereg_replace("[[:punct:]{0,1}autor]","",$string);

//Autor von Datenbank. Nehme an: id=234
$id = 234;

$link = "<a href=\"autor.php?autor_id=$id\" class=\"autor\">$autor</a>";

//Und jetzt zurück:
if(ereg("class=\"autor\"",$link)){
  $bbstring = 
ereg_replace('[[:alnum:]][[:alnum:]]+','[autor]\0[/autor]', $link);
}
</code>

Ist ungetestet.

  Grüsse
      Sorin

php::bar PHP Wiki   -   Listenarchive