explode() mit 2 seperatoren
Anno
- php
Hey Guys,
Ich möchte einen String zB
"ABC DEF-GHI"
in ein Array laden, getrennt von " " und "-"
also:
[0] = ABC
[1] = DEF
[2] = GHI
gibt es eine Möglichkeit der Funk. explode() mehrere Seperatoren zu übergeben oder gibt es eine Alternative?
Anno
Moin!
gibt es eine Möglichkeit der Funk. explode() mehrere Seperatoren zu übergeben oder gibt es eine Alternative?
Ja, klar. Du Ersetzt den String:
$arListe=explode('-',str_replace(' ','-',$strText));
Falls Du das erweitern willst:
$arSuche=array(' ', ',', '.', '#');
foreach ($strSuche as $dummy) {
$arErsatz[]='-';
}
$arListe=explode('-',str_replace($arSuche,$arErsatz,$strText));
Und falls Du das öfters brauchst:
function MultiExplode($str,$ar) {
/**
* @param string $str zu splittendender Text
* @param array $ar Liste der Trenner
* @return array Ergebnis des Splittings
* @example $array=MultiExplode('123 456-789',array(' ', '-'));
* @author fastix®
*/
$arErsatz=array();
foreach ($ar as $dummy) {
$arErsatz[]=$ar[0];
}
return explode('-',str_replace($ar,$arErsatz,$str));
}
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
function MultiExplode($str,$ar) {
/**
* @param string $str zu splittendender Text
* @param array $ar Liste der Trenner
* @return array Ergebnis des Splittings
* @example $array=MultiExplode('123 456-789',array(' ', '-'));
* @author fastix®
*/
$arErsatz=array();
foreach ($ar as $dummy) {
$arErsatz[]=$ar[0];
}
/* return explode('-',str_replace($ar,$arErsatz,$str)); war falsch... */
return explode($ar[0],str_replace($ar,$arErsatz,$str));
}
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Huhu
gibt es eine Möglichkeit der Funk. explode() mehrere Seperatoren zu übergeben oder gibt es eine Alternative?
Guck Dir mal preg_split() an.
http://php.net/manual/en/function.preg-split.php
Viele Grüße
lulu