Michael <[EMAIL PROTECTED]> schrieb am 14.09.2001
MH> Hallo Purodha,
>> >> Ja bekannt. Nur verstehe ich noch nicht, warum,
>> >>
>> >> if(!preg_match('-^([a-zA-Z0-9]+)://-', $urs))
>> >> {
>> >> $urs = ('http://'.$urs);
>> >> }
>> >>
>> >> offenbar matcht die regexp aus der ersten Zeile nie, auch wenn
>> >> schon http:// da steht.
>>
>> MH> was bedeutet der Dash am Anfang von '-^(a.z...'?
>>
>> MH> Alles Gute w�nscht
>> MH> Michael
>>
>>
>> Die dashes am Anfang und am Ende sind Separatoren, so aehnlich,
>> wie bei sed oder vi ...s/alt/neu/g das '/'
MH> wozu ' und -, ist das nicht doppelt gemoppelt??? Perl eben, nur dazu
MH> gemacht, unlesbar zu sein.
Nee, die '' (oder "") sind String-Begrenzer aus php.
Ich programmiere ja php hier und nicht perl.
php hat drei libraries, die drei flavours von regexp
zur Verfuegung stellen, und dazu sind die Leistungen
der libs extrem unterschiedlich. Die _bei_ _weitem_
leistungsfaehigste ist die _sogenannt_ "perl compatible"
die ist nicht, sondern nur fast perl-compatibel, dafuer
etwas systematischer, und _kann_ posix-kompatibel kompiliert
werden (was sich nur an wenigen (drei?) Stellen auswirkt,
wo es um backwards-referenzen geht, also ()-Konstrukte,
auf die mit \\n Bezug genommen wird (n ist eine einstellige
oder zweistellige Dezimalzahl, zweistellig nur per
Kompilations-Option)) _DAS_ ist kompliziert,
die Anwendung imho im Normalfall nicht mehr oder
weniger, als alle anderen regexp flavours.
Wenn man jetzt einen php-String mit '' oder "" begrenzt
hingeschrieben hat (Achtung: es gibt Riesenunterschiede
zwischen den beiden Begrenzerarten, wer sicher gehen will,
nimmt '', es sei denn, er weiss genau, was er tut, jedenfalls
bei regexp-stuff) dann gibt es - wegen der moeglichen
escapes innerhalb der regexp nochmal ein Begrenzerpaar.
Das ist dann Teil der posix/perl regexp syntax.
Alles klar?
Warum ich die preg_xxx calls nehme ?
1) Ich bin die delimiter von awk gewohnt, womit ich viele
kleine Progamme gemacht habe.
2) Es ist die einzige Library, die an sehr vielen Stellen
Array-Parameter akzeptiert, ueber die dann (parallel)
iteriert wird.
Ein kleines Beispiel fuer den Nutzen:
preg_replace( regexp, replacement_string_for_regexp, data_string_to_be_searched);
preg_replace( array( '/�/' , '/�/' , '/�/' , '/�/' ),
array( 'ä', ''ö', ''ü', ''ß' ),
$stuff_for_the_web_page );
Das anzuwenden ist vielen zu abstrakt, was ich verstehen
kann. Ich bin Mathematiker und finde es einfach, da noch
die Uebersicht zu behalten ;-) und das sehe ich nur als
Gabe an, bestimmt nicht als Verdienst :-) Lucky Me :-)
Gruesse von Purodha - e-mail: <[EMAIL PROTECTED]>
_______________________________________________
Global mailing list
[EMAIL PROTECTED]
http://lists.hostsharing.net/mailman/listinfo/global