|
buerschgens.de ...nur zur Sicherheit. |
|
buerschgens.de ...nur zur Sicherheit |
|
FunktionsreferenzProxomitron unterstützt insgesamt 35 Funktionen:
Hilfsmittel zur Bereichserfassung$AV()AufgabeIch möchte den Inhalt bzw. den Wert eines Attributs innerhalb eines Tags erfassen. ProblemIn HTML können Attributwerte in einfache Anführungszeichen, in doppelte Anführungszeichen oder in gar keine Anführungszeichen eingeschlossen sein. Zudem dürfen innerhalb von mit doppelten Anführungszeichen eingeschlossenen Attributwerten einfache Anführungzeichen enthalten sein. Der umgekehrte Fall ist auch zulässig. Sogar der Typ von Anführungszeichen, mit dem der Attributinhalt eingefasst ist, darf innerhalb des Inhalts vorkommen, wenn jedem Anführungszeichen ein Backslash vorangestellt ist.
<tag attribut="attributwert">
<tag attribut='attributwert'> <tag attribut="attri'but'wert"> <tag attribut=attributwert> <tag attribut="at\"tribut\"wert"> Alle diese Varianten mit einem einzelnen regulären Ausdruck zu erfassen, wäre ziemlich kompliziert. LösungViel einfacher ist das hier:
<tag attribut=$AV(Unterausdruck)>
Die Funktion $AV ("Attribute Value") erfasst Attributwerte. Sie berücksichtigt dabei evtl. vorhandene Anführungszeichen nach den gleichen Regeln, die ein Browser beim Lesen des Quelltexts anwendet. Man braucht sich also keine Gedanken mehr um Anführungszeichen zu machen. Wenn $AV(<Unterausdruck>) den Inhalt eines Attributs erfasst hat, dann wendet sie auf diese Zeichenfolge den als Parameter übergebenen Unterausdruck an. Der Gesamtausdruck wird wahr, wenn der Attributinhalt vollständig von diesem Unterausdruck erfasst wird. BeispielQuelltext:
<tag attribut="Proxomitron">
Wird erfasst von:
<tag attribut=$AV(Proxomitron)>
<tag attribut=$AV(Prox*)>
<tag attribut=$AV(*omitron)>
<tag attribut=$AV(\w)>
Aber nicht von:
<tag attribut=$AV(oxomit)>
<tag attribut=$AV(Proxomit)>
Wenn ich den vollständigen Attributinhalt in die Variable \3 übernehmen möchte, schreibe ich:
<tag attribut=$AV(\3)>
Diese Seite wird nach und nach ausgebaut, so wie ich Zeit dafür finde. |