Page 1 of 1

jede Position eines Strings in einem anderen bestimmen

Posted: 2004-03-04 14:51
by andreasbinder
Hi Leute,

gibt es eine Funktion in PHP, die mir jede Position eines Strings in einem anderen ermittelt?

Also, wenn ich nach "abc" im String "abcdabc" suchen, möchte ich die Position 0 und 4 zurückgegeben haben.

Danke.

AB

Re: jede Position eines Strings in einem anderen bestimmen

Posted: 2004-03-04 15:22
by wgot
Hallo,

eine fertige Funktion kenn ich nicht, läßt sich aber schnell basteln:

Code: Select all

<?php


function strposall($daten,$such) # array
  {
    $anfang=0;
    $x=0;
    while (is_integer($x))
      {
        $x=strpos($daten,$such,$anfang);
          if (is_integer($x)) { $e[]=$x; $anfang=$x+strlen($such); }
  }
     if (isset($e)) { return $e; } else { return false; }
}

$such='abc';
$daten='abc123abc45abc';
$ergebnis=strposall($daten,$such,0);
if (is_array($ergebnis)) 
{
foreach($ergebnis as $e) { echo "$en"; }
}
else
echo "nicht gefunden";
?>
Bitte selbst sorgfältig testen.

Gruß, Wolfgang

Re: jede Position eines Strings in einem anderen bestimmen

Posted: 2004-03-04 15:24
by andreasbinder
Wow, das nennt man eine schnelle Antwort.

Vielen Dank.

Re: jede Position eines Strings in einem anderen bestimmen

Posted: 2004-03-04 15:36
by niklas_
hm...

http://de.php.net/manual/de/function.strpos.php
strpos -- Sucht erstes Vorkommen des Suchstrings und liefert die Position