WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   ereg funktion in PHP (http://www.wcm.at/forum/showthread.php?t=76731)

irrsinn 11.11.2002 16:10

ereg funktion in PHP
 
will einen string mit folgendem format in 2 variablen aufsplitten:

NameNummer = Wert
also zB item0 = Tastatur oder item1 = Maus

ich bräucht ein verfahren, mit dem ich möglichst einfach so einen string in die variablen $name und $wert aufteile, wobei die nummer und das = zeichen nicht mehr benötigt werden.

kann ich das mit der ereg funktion machen, wenn ja wie? bzw welche anderen möglichkeiten gibts? das ganze wie gesagt in PHP

danke!

_m3 11.11.2002 16:20

/(\D+)\d\s*=\s*(\w)/

irrsinn 11.11.2002 16:28

das heißt der aufruf müsst dann so sein:

ereg("/(\D+)\d\s*=\s*(\w)/", $string, $var_array);

hab ich das so richtig verstanden?

_m3 11.11.2002 18:48

jup, könnte hinkommen. hab aber grad kein funktionierendes PHP bei der Hand (perl is wichtiger ;) )

irrsinn 11.11.2002 18:53

muss dich enttäuschen. funktioniert leider nicht. die variablen sind nach ausführen der funktion leer

käptn 11.11.2002 19:01

Was willst du nach dem ganzen haben?

$name = 'item';
$wert = 'Tastatur';

oder

$item = 'Tastatur';

~

irrsinn 11.11.2002 19:05

$name = 'item';
$wert = 'Tastatur';

_m3 11.11.2002 19:21

ok
1) Ich schreibe IMMER Perl-Regex'en
2)
PHP-Code:

// get host name from URL
preg_match(("/(\\D+)\\d\\s*=\\s*(\\w+)/"$string$var_array);

$name $var_array[0];
$wer $var_array[1]; 

Sorry, da war ein kleiner Bug in der Regex;

3) Für Perl-Fans:
Code:

$_ = "wert0 = Tastatur";
/(\D+)\d\s*=\s*(\w+)/;
print "Name: $1\nWert $2\n";


irrsinn 11.11.2002 19:29

da is leider noch immer was faul. hab den code 1:1 in mein file kopiert und die 2 variablennamen angepasst. aber das array is immer leer.

käptn 11.11.2002 19:35

Sollte aber passen:

Code:

W:\>pcretest
PCRE version 3.7 29-Oct-2001

  re> /(\D+)\d\s*=\s*(\w+)/
data> wert0 = sowasauch_3
 0: wert0 = sowasauch_3
 1: wert
 2: sowasauch_3
data>

~


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag