SSI

Alles, was den Apache betrifft, kann hier besprochen werden.

SSI

Postby OlafD » 11. January 2015 11:14

Folgender server side include code nimmt ein Key/Value Paar mit einem regulären Ausdruck auseinander:
Code: Select all
<!--#set var="keyvaluepair" value="key1=value1" -->
<!--#if expr="v('keyvaluepair')=~/key1=([a-zA-Z0-9]*)/" -->
<!--#set var="match" value="$0" -->
<!--#set var="value" value="$1" -->
<!--#endif -->
<!--#echo var="match" -->
<!--#echo var="value"  -->

Laut Apache Doku finden sich die regex Ergebnisse, die backrefs, in den Variablen $0 bis $9 , wobei in $0 der Hauptfund ist, in $1 der Fund in capturing group 1, $2 group 2, etc.
Eine Capturing Group wird mittels runder Klammern markiert, also sollte $1 den Teil ([a-zA-Z0-9]*) des regulären Ausdrucks enthalten, der auf "key1=" folgt, also nur den Wert "value1".
$1 ist aber leer.

Ist das ein Apache SSI Bug?

Ich kann mir helfen, indem ich den Fund weiter auseinander nehme:

Code: Select all
<!--#if expr="v('match')=~/=([a-zA-Z0-9]*)/" -->
<!--#set var="secondmatch" value="$0" -->
<!--#endif -->
<!--#if expr="v('secondmatch')=~/([a-zA-Z0-9]*)/" -->
<!--#set var="finalmatch" value="$0" -->
<!--#endif -->


So wird nach und nach der vordere Teil abgestreift. Elegant ist das allerdings nicht gerade.

Olaf.
OlafD
 
Posts: 1
Joined: 11. January 2015 11:00
Operating System: Windows 8.1

Re: SSI

Postby Nobbie » 11. January 2015 16:54

OlafD wrote:Folgender server side include code nimmt ein Key/Value Paar mit einem regulären Ausdruck auseinander:
Code: Select all
<!--#set var="keyvaluepair" value="key1=value1" -->
<!--#if expr="v('keyvaluepair')=~/key1=([a-zA-Z0-9]*)/" -->
<!--#set var="match" value="$0" -->
<!--#set var="value" value="$1" -->
<!--#endif -->
<!--#echo var="match" -->
<!--#echo var="value"  -->



Wo ist das so dokumentiert und insbesondere was bedeutet das "v('keyvaluepair')" in der expression?

Unabhängig davon ist SSI doch uralter Krampf, wieso benutzt Du nicht PHP oder Perl?
Nobbie
 
Posts: 13179
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 242 guests