I
Ich habs glaub ich hinbekommen. Aber irgendwie erscheint mir das Ganze recht umständlich. Ich bin total unerfahren mit regulären Ausdrücken und frage mich daher, ob man es nicht viel eleganter lösen könnte. Ich poste mal, was ich so hingebastelt habe:
if(!preg_match("^(sct[\s]*\([\s]*(\"[\w &;]+\"[\s]*,[\s]*){2}\"[\.\/\w &;]+\"[\s]*\)[\s]*\{[\s]*(pge[\s]*\([\s]*(\"[\w &;]+\"[\s]*,[\s]*){2}\"[\.\/\w &;]+\"[\s]*\)[\s]*;[\s]*)*[\s]*\}[\s]*)+$",$content)) return false;
Diese Programmzeile soll den Inhalt meiner struckturdatei verifizieren:
sct("gen","Allgemein","img/gen.jpg"){
pge("home","Home","home.php");
pge("about","Über uns","about.php");
pge("gallery","Fotogallerie","agm_gallery.php");
pge("guestbook","Gästebuch","guestbook.php");
pge("contact","Kontakt","contact.php");
pge("links","Links","links.php");
}
sct("apa","Ferienwohnung","img/apa.jpg"){
pge("description","Beschreibung","description.php");
pge("gallery","Fotogallerie","apa_gallery.php");
pge("walk","Wanderrouten","walk.php");
pge("trekking","Eseltrekking","trekking.php");
pge("financial","Finanzielles","financial.php");
}
sct("dog","Hunde","img/dog.jpg"){
pge("breed","Hundezucht","dog_breed.php");
pge("dogs","Rüden","dogs.php");
pge("bitches","Hündinnen","bitches.php");
pge("litter","Würfe","litter.php");
pge("gallery","Fotogallerie","dog_gallery.php");
}
sct("shp","Milchschafe","img/dog.jpg"){
pge("kind","Rasse","kind.php");
pge("breed","Zucht","shp_breed.php");
pge("milk","Milch","milk.php");
pge("gallery","Fotogallerie","shp_gallery.php");
}
sct("hrb","Produkte","img/hrb.jpg"){
pge("herb","Bergkräuter","home.php");
pge("meat","Lammfleisch","meat.php");
}
Es dürfen überall lücken und zeilenumbrüche sein, ausser in den strings zwischen 2 Anführungszeichen.
Eigentlich C - Synthax
Vielleicht schaut ihr euch das ja mal an und habt Verbesserungsvorschläge?
Gruss Ishildur