php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.09.2005, 12:12  
Gast
 
Beiträge: n/a
Standard [Erledigt] [RegExp] Thema BBCode und XHTML 1.1

Hallo,

ich denke mir diese Frage gehört eher ins Fortgeschrittenen Forum, bei Bedarf verschieben

Mein Problem: Ich entwickler für das Browsergame, das ich mitentwickel und Leite (HackerGame.de), ein Forum.

Das Forum basiert auf XHTML 1.1. Ebenfalls kommt meine Parserklasse für den BBCode zum Einsatz, jedoch kommt dabei ein Problem auf. Der Parser macht aus einem [b]-Tag ein [b]-Tag, was eigentlich richtig ist, aber da ein User nicht unbedingt die Vorgaben von XHTML beachtet... Sprich, die Tags müssen in der richtigen Reihenfolge beendet werden.

Meine Idee das überprüfen zu lassen.

Den ganzen Text mit RegExp und dem Modifier s als einen String durch den Parser jagen. Der sucht sich dann den innersten Teil heraus.

Code:
text 
Hier werden die [u ]-Tags herrausgefiltert.

Nun wird überprüft ob sich innerhalb des [u ]-Tags noch weitere Tags befinden, allerdings nur solche, die auch innerhalb des [u ]-Tags beendet werden.

Sollte nun ein Tag sich öffnen, aber nicht innerhalb des Teilstrings (umschlossen vom [u ]-Tag) schließen, werden die eckigen Klammern durch die HTML Codes für [ und ] ersetzt.

Code:
Text 
Hierbei werden erst die B-Tags rausgefiltert. Dann werden die I-Tags rausgefiltert. Nun merkt der Parser, das der U-Tag alleine steht, da der schließende Tag nicht innerhalb des Teilstrings ist. Nun wird der I-Tag durch den HTML Code ersetzt.

Meine Frage ist, wie müsste da die Abfrage heißen. Ich habe den Thread absichtlich nicht im Gesuche Forum untergebracht, da ich kein fertiges Skript haben möchte sondern nur den Weg dahin. Von der Überlegung her sollte es gehen, nur der "Wie?"-Weg liegt noch im Dunkeln.

Danke und mit freundlichen Grüßen
dtdesign
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.09.2005, 12:39  
Gast
 
Beiträge: n/a
Standard

a) sollten da schon die bbcodes in der richtigen reihenfolge stehen
( solltest du es nicht mit absicht gemacht haben um dem parsen der codes aus dem weg zu gehen )

b ) searcharray erstellen
b ) replacearray erstellen

dann kein preg_replace ... sondern eher ein preg_match
-> gefundene öffnende codes ( nicht aufeinanderfolgend )
-> gefundene schliessende codes ( nicht aufeinanderfolgend )
können replaced werden

wichtiger aufeinanderfolgende, da [b ][u ]xxx[/u ][/b ]
nicht zu <u>xxx</u> werden sondern zu
<span style="font-weight:bold;text-decoration:underline">xxx</span>

also search [b] if follow by (\[)(url|b|u|i) ... usw...
wird ein heiden schreib/parse aufwand sollte als denkanstoss hoffentlich helfen
wobei das nicht der Weisheit letzter Schluss ist ( vermute ich )

mfg
  Mit Zitat antworten
Alt 18.09.2005, 13:57  
Gast
 
Beiträge: n/a
Standard

zu a) Beim 2. Beispiel war das Absicht um die überlegte Wirkungsweise zu schildern.
zu b) sowas hatte ich mir gedacht, Danke für deine Hilfe

Gruß
dtdesign
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Thema anpinnen und Thema als gelesen markieren? litterauspirna PHP Tipps 2008 27 04.08.2008 11:19
Neues Thema und Eröffnungspost richtig zueinander in 2 Tabelen eintragen? litterauspirna PHP Tipps 2008 8 25.06.2008 13:37
BBCode - ähnliche Markup-Language für Redaktionssystem horstenpeter PHP Tipps 2006 3 17.08.2006 18:44
(X)HTML und php Klaus HTML, Usability und Barrierefreiheit 4 02.07.2006 12:25
BBCode mit eregi_replace(); ändert nur letztes Vorkommen Blank PHP Tipps 2006 6 12.04.2006 14:58
(X)HTML und CSS Syntax highlighting PHP Tipps 2006 2 05.02.2006 19:37
BBCode Parser Mutatos PHP Tipps 2006 1 05.01.2006 12:19
BBCode Realisierung - Code Andun PHP-Fortgeschrittene 10 18.12.2005 21:09
[Erledigt] Problem mit BBCode PHP Tipps 2007 6 30.11.2005 17:26
bbcode immer einfügen? PHP Tipps 2005-2 6 16.09.2005 09:51
BBCode umwandeln GSJLink PHP Tipps 2005-2 7 13.08.2005 16:29
bbcode verachtet anderen bbcode phpfortgeschrittener PHP Tipps 2005-2 7 04.08.2005 00:42
XHTML DER_Brain HTML, Usability und Barrierefreiheit 9 08.07.2005 11:30
xhtml valide HTML, Usability und Barrierefreiheit 2 14.12.2004 18:43
[Erledigt] XHTML + Map ? HTML, Usability und Barrierefreiheit 1 19.10.2004 10:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
bbcode in xhtml, regex bbcode schliessen, xhtml bbcode parser, php bbcode tag schliessen, bbcode bold regex, php teilstring zwischen eckigen klammern, php html in bbcodes umwandeln, bbcode regex, regexp öffnendes schließendes tag, regexp html tag to bbcode, regex url bb code, regexp i u, bb-code [u], preview (bbcode usable), html in xhtml konvertieren php regex, regexp bold php, regexp bbcode regexp, php html tags schliessen regex, bbcode regexp, bbcode regex xhtml

Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.