Willkommen in der Webstatt Zum Webstatt Blog und Stories
okraina am 05.04.08 19:38

Hi leutz

hab ein beispiel gemacht, dass nicht ganz funktioniert... Ich hoffe es ist verständlich...

<?php
$text = array();
$text[] = 'ggg'; // sollte ok sein
$text[] = 'ggg:'; // sollte falsch sein
$text[] = 'ggg:ggg'; // sollte ok sein
$text[] = 'ggg:ggg_'; // sollte falsch sein
$text[] = 'ggg:ggg_ggg'; // sollte ok sein
$text[] = 'ggg:ggg_ggg_'; // sollte falsch sein

foreach($text as $txt => $val) {
echo $val.' => '.checkvar($val).'</br>';
}

function checkvar($var) {
if(preg_match("/[a-z]*(?::[a-z]+(?:_[a-z]+)?)?/e",$var)) return 'ok';
else return 'falsch';
}

?>


Leider sagt er bei allen sechs ok :(

Danke für die Hilfe

MFG
okraina

EDIT:

Hab die Lösung von jemand anderem bekommen... Trotzdem danke!

<?php

function checkvar($var) {
if(preg_match("/^[a-z]+(?::[a-z]+(?:_[a-z]+)?)?$/e",$var)) return 'ok';
else return 'falsch';
}

?>

netcup.de Warum gibt es hier Werbung?
nuit nuit am 05.04.08 20:19

so nebenbei...der e modifier wird ignoriert, er gilt nur in preg_replace ;)

was du noch machen könntest, weiss nciht ob es erlaubt sein soll, gross und kleinschreibung, entweder über den i modifier, oder einfach [a-zA-Z] :D

okraina am 05.04.08 20:34

Oh hab ich gar nicht gemerkt, dass e noch drin war. der plattern war davor in einer preg_replace anweisung drin. Das mit der gross und kleinschreibung soll nicht erlaubt sein aber trotzdem danke ;)

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt