jede Position eines Strings in einem anderen bestimmen

Bash, Shell, PHP, Python, Perl, CGI
andreasbinder
Posts: 28
Joined: 2003-09-29 11:59

jede Position eines Strings in einem anderen bestimmen

Post 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
wgot
Posts: 1675
Joined: 2003-07-06 02:03

Re: jede Position eines Strings in einem anderen bestimmen

Post 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
andreasbinder
Posts: 28
Joined: 2003-09-29 11:59

Re: jede Position eines Strings in einem anderen bestimmen

Post by andreasbinder »

Wow, das nennt man eine schnelle Antwort.

Vielen Dank.
niklas_
Posts: 122
Joined: 2003-08-13 20:46

Re: jede Position eines Strings in einem anderen bestimmen

Post by niklas_ »

hm...

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