phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-15?q?Formular=FCberpr=FCfung?=

[php] Formularüberprüfung

Gerhard Feiner php_(at)_phpcenter.de
Wed, 11 Jul 2001 23:48:04 +0200


On Wednesday 11 July 2001 23:06, Ithamar Garbe wrote:
> Hallo zusammen,
>
> wieder einmal bereitet mir ein Skript Kopfzerbrechen:
>

[...]

> Das funktioniert auch sehr gut, allerdings möchte ich noch einen
> Schritt weitergehen, und überprüfen, ob jemand 3 oder mehr gleiche
> Zeichen hintereinander eingibt, z.B. "aaaa". Solche Zeichen können
> auch inmitten von anderen Zeichen vorkommen, z.B. "aaafgsdf", dies
> möchte ich alles rausfiltern.

mmh, mit dem sed sieht das so aus:

[gerd_(at)_devel:~]$ echo coooooololo | sed -e 's/\(.\)\1\{2,\}/\1\1/'
coololo

der ausdruck findet alle zeichen, die 2x oder oefter (kann man ja 
anpassen) nacheinander kommen und ersetzt sie durch 2 derselben.  man 
kann sie auch durch gar nix ersetzen lassen, wie man will.

zur erklaerung:

die klammer \(.\) definiert eine gruppe beliebiger zeichen, durch den 
identifier \1 wird sich auf diese (erste klammer) bezogen, \{2,\} 
wiederum sagt aus, dass sich das vorige konstrukt nur auf zeichen 
auswirken soll, die 2x oder oefters vorkommen.  diese werden dann im 
zweiten teil mittels \1\1 durch zwei der zeichen, die die klammer 
bestimmt, ersetzt.

soweit zur theorie.

wie das aber in php mit einer {e,p}reg(i)(_replace)-funktion aussieht 
wuesste ich auch gerne ;-)

vielleicht ist ja einer so fit in php-regex, dass er mein konstrukt 
oben umwandeln kann.

mfg,
gerd

-- 
/"\
\ /     ASCII Ribbon Campaign
 x      Say NO to HTML in email and news !!
/ \


php::bar PHP Wiki   -   Listenarchive