Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
28.01.2006, 22:05
Adrian_Broher
Admin


mein problem ist folgendes:

ich habe in meinen templatedateien patzhalter in der form

Quellcode:<<<varname1>>>
wobei der varname nur mir [a-z] oder [A-Z] oder [ _ ] beginnen darf und innerhalb des restlichen varnamens sind nur die bereiche von [a-z] oder [A-Z] oder [0-9] oder [_,-]. Zeilenumbrüche sinnerhalb eines platzhalters sind nicht erlaubt.

Die frage wäre nun ob ich mit hilfe einer regexp überprüfen kann ob alle im template vorhandenden <<<*>>> kombinationen diesem format entsprechen oder ob da mindestens 2 regexp anfragen nötig sind.

meine bisherige idee war, dass ich zuerst den regexp

Quellcode:#<<<.*>>>#s
ausführe um die anzahl aller verfügbaren <<<*>>> kombinationen zu finden und dann mit der Anzahl der aus der regexp

Quellcode:#<<<([[a-z]|[A-Z]|[_]])([a-z]|[A-Z]|[0-9]|[_,-])*>>>#
zu vergleichen. Falls die Zahl ungleich ist muss mindestens ein platzhalter einen ungültigen syntax haben.
Ist dieser Lösungsansatz überhaupt performant oder packe ich das Problem von der völlig falschen Seite an?

Falls es Fehler in den beispiel regexp's gibt macht mich bitte drauf aufmerksam, ich beschäftige mich erst seit kurzem mit regexp.

--

There is nothing wrong with high standards. It's your problem that you don't meet them.
If you think it's simple, then you have misunderstood the problem.
When a customer says "nothing has changed", assume they're lying.


Dieser Beitrag wurde am 28.01.2006 um 22:09 von Adrian_Broher bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
28.01.2006, 23:36
theDon



Mit welcher Sprache arbeitest du?

Ansonsten waere vermutlich der sinnvollste Weg, einmal mit deiner ersten regexp alle moeglichen Platzhalter zu suchen und dann fuer jede Fundstelle mit der zweiten regexp die Gueltigkeit zu pruefen. Oder man macht es sich einfach und ignoriert einfach die ungueltigen Platzhalter.

--

\o tanz den naziprau! o/

And more than ever, I hope to never fall,
Where enough is not the same it was before

zum Seitenanfang zum Seitenende Profil || Suche
002
29.01.2006, 10:34
Adrian_Broher
Admin


Zitat:
theDon postete
Mit welcher Sprache arbeitest du?
php + preg_* funktionen

Zitat:
Ansonsten waere vermutlich der sinnvollste Weg, einmal mit deiner ersten regexp alle moeglichen Platzhalter zu suchen und dann fuer jede Fundstelle mit der zweiten regexp die Gueltigkeit zu pruefen.
Klingt sinniger als mein Lösungsansatz, mal schauen ob ich das implementiert kriege.

Zitat:
Oder man macht es sich einfach und ignoriert einfach die ungueltigen Platzhalter.
Eigentlich schon, aber dieser sanity check ist im debugmodus des templatesystems implementiert. Im normalen modus wird diese Anfrage garnicht gestellt.

--

There is nothing wrong with high standards. It's your problem that you don't meet them.
If you think it's simple, then you have misunderstood the problem.
When a customer says "nothing has changed", assume they're lying.

zum Seitenanfang zum Seitenende Profil || Suche
003
29.01.2006, 15:45
theDon



In dem Fall ist preg_match_all() dein Freund, damit bekommst du alle Fundstellen in ein array.

--

\o tanz den naziprau! o/

And more than ever, I hope to never fall,
Where enough is not the same it was before

zum Seitenanfang zum Seitenende Profil || Suche