|
Verfasst am: 05. 03. 2010 [15:24]
|
|
wissenwoller
Themenersteller
Dabei seit: 25.03.2008
Beiträge: 68
|
Hi, ich habe in einem String z. B. die Werte 1|15|25 stehen.
Gibt es einen regulären Ausdruck, der mir gruppen anhand der pipes erstellt, also 1 15 und 25 extrahiert und dann innerhalb dieser Gruppen nach z. B. 1 sucht - ohne aber 15 zu finden.
Da hakt es bei leider gerade etwas ...
Danke & Gruß
|
|
Verfasst am: 22. 03. 2010 [21:23]
|
|
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8607
|
$str = '1|15|25';
$arr = t3lib_div::trimExplode('|', $arr, 1);
foreach ($arr as $value) {
if ($value == 1) {
echo 'gefunden: ' . $value;
}
}
|
|
Verfasst am: 12. 05. 2010 [10:09]
|
|
zero.slider
Dabei seit: 12.05.2010
Beiträge: 21
|
ich denke, ein regulärer ausdruck sollte so geprüft werden:
...
// Prüfen, ob der String ($string): Zahlen und Pipes enthaellt:
// Example : 1|15|25
// \d = ZAHL
// {x} = Anzahl der Ziffern in der Zahl d
if ( preg_match('/[\d{1}]+|+[\d{2}]+|+[\d{2}]/', $string))
{
// foreach-schleife wie oben ..
}/* end if*/
dabei geht aus der Anfrage nicht hervor, ob vor der ersten Pipe immer eine einstellige Zahl (also eine Ziffer steht) oder ob da auch zweistellige Zahlen vorkommen dürfen. ( 1|15|25 )
Zum Thema Reguläre Ausdrücke empfehle ich Jörg Krauses Buch "Programmieren lernen in PHP" Kapitel 13.3
gruss
zero
[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 12.05.2010 um 10:12.]
|