phpbar.de logo

Mailinglisten-Archive

[php] Wort-Splitting

[php] Wort-Splitting

Ulf Wendel ulf_(at)_redsys.de
Fri, 28 Jan 2000 20:02:56 +0000


Franz Graf wrote:
> 
> On 28 Jan 00, at 18:14, Tobias Ratschiller wrote:
> > > korrektur:
> > >
> > > $array = split('[-]', $string);
> >
> > Korrektur: $array = explode("-", $string);
> 
> Korrektur(?):
> er schrieb doch
> > wie ich einen Text in seine einzelnen Wörter
> > zerlegen kann - auch wenn die Wörter durch Zeichen, wie -,
> 
> "auch wenn die Wörter" ... dann muss er doch auch (oder in erster
> Linie) nach Leerzeichen splitten, oder?
> Da würd sich doch langsam preg_split aufdrängen oder seh ich grad
> was falsch?

Nein, sehe ich auch so. Und wenn man wie Ulf die Doku nicht sorgfältig
liest denkt man etwas nach und schreib mühsam:

function my_split($del, $text) {
	
	if (!is_array($del))
	  return explode($del, $text);
		
  reset($del);
  list(, $d)=each($del);
		
	$teile = explode($d, $text);
	if (!is_array($teile))
	  return $teile;
  while (list(, $d)=each($del)) {
	 reset($teile);
	 while (list($k, $v)=each($teile)) {
    if (strstr($v, $d))
 		  $v = explode($d, $v);
		$teile[$k]=$v;
   }
	}
  
  return array_values($teile);
}

if (!function_exists("array_values")) {
  function array_values($daten, $neu="") {
  
    if (!is_array($daten))
      return $daten;
          
    reset($daten);
    while (list($k, $v)=each($daten)) 
      if (is_array($v))
       $neu = array_values($v, $neu);
      else 
       $neu[]=$v;       
             
    return $neu;
  }
}
$text = "Dies ist mein,Text! Und dabei; ist alles kompliziert";
$teile = my_split(array(" ", ",", ";"), $text);

reset($teile);
while (list($k, $v)=each($teile)) 
 echo "$k => $v\n";


Ulf


> 
> Franz
> 
> --
> ** Durchgehend geöffnet: http://www.php-center.de **
> Die PHP-Liste: mailto:php_(at)_infosoc.uni-koeln.de
> http://infosoc.uni-koeln.de/mailman/listinfo/php


php::bar PHP Wiki   -   Listenarchive