preg_match_all - String ohne symbole.

B

BloodSteam

Guest
Hallo,
wie kann Ich nur den String in ein Array hinzufügen ohne den Symbolen?
Zb wenn Ich nach
Code:
*!"Irgendwas*!"
Suche, wie füge Ich nur den String in ein Array zwischen den Symbolen *!" ?

Bei mir fügt es die ganzen Symbole mit in das Array. Also nicht ['Irgendwas'] sondern ['*!"Irgendwas*!"']
 
Code:
preg_match('#([a-z0-9]+)#i', '*!"Irgendwas*!"', $aMatch);

$aMatch[1]  = Irgendwas

preg_match_all('#([a-z0-9]+)#i', '*!"Irgend-was*!"', $aMatch);

$aMatch[1][0] = Irgend
$aMatch[1][1] = was
 
Code:
preg_match('#([a-z0-9]+)#i', '*!"Irgendwas*!"', $aMatch);

$aMatch[1]  = Irgendwas

preg_match_all('#([a-z0-9]+)#i', '*!"Irgend-was*!"', $aMatch);

$aMatch[1][0] = Irgend
$aMatch[1][1] = was

Was wenn Ich nur den String gaben will, der vor dem Bindestrich ist? Also "Irgend", dazu muss man noch bedenken dass es mehrere Wörter sind.
Also ist $aMatch[1] dafür zuständig dass in das Array ohne den Symbolen hinzugefügt wird?
 
Ah, du möchtest den ersten vorkommenden String haben.
Das ist auch easy - einfach nur ([a-zA-Z0-9]+) mit preg_match - Keinerlei Flags.
0-9 kannst du noch raus lassen, wenn die Zahlen auch zu doof sind. ;)

Code:
$string = '*!"Irgend-was*!"';

if ( preg_match('/([a-zA-Z0-9]+)/', $string, $aMatch) ) {
       $string = $aMatch[1];
}

echo $string; // ergibt: Irgend


@grasshopper: Betrachtet man seine anderen Threads hier, dann würde ich fast vermuten, dass es um PHP geht ;)
 
Zurück