PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ärger mit strpos


DanielLorbach
28.04.2003, 10:05:05
Hallo zusammen,

ich frage mittels strpos ab, ob in meiner Zeichenkette die Folge ^< vorhanden ist.
Jetzt kann die Zeichenfolge auch an Position 0 des Strings auftreten, womit meine Probleme anfangen.
Ich möchte den String nämlich nur weiter verarbeiten, wenn das Ergebnis von strpos positiv ausfällt. Meine If-Abfrage interpretiert aber das Ergebnis Position 0 als false.

Über Hilfe am Montagmorgen sehr dankbar,
Daniel.


$s = "^<abc>"
$pos1 = strpos($s, "^<");
if ($pos1 != false)
{
//IF-1
//Filtername + Argumente extrahieren:
$pos2 = strpos($s, ">", $pos1);


edit: Code um Zeile $s = "^<abc>" erweitert

MiH
28.04.2003, 10:25:33
if(strpos($s,"^<")>0){
echo "blah";
}

DanielLorbach
28.04.2003, 10:29:36
Danke,

aber wird nicht funktionieren, da das Ergebnis 0 sein kann, wenn $s = "^<abc>" ist.

DanielLorbach
28.04.2003, 10:49:11
So ein Kaffee kann wunder bewirken.

Ich orientiere mich nicht daran, ob eine Position gefunden wurde, sondern daran, welchen Datentyp ich
zurück bekomme.

boolean entspricht nicht gefunden (true wird ja nicht zurückgegeben)
integer entspricht gefunden, inklusive Position 0

Also ersetze ich IF-1 durch
if( is_integer($pos1) == true)

:-)

edit: ein if( $pos1 !== false) hätte es auch getan
Guten Morgen *g*

c4
28.04.2003, 17:33:19
Du könntest auch strstr() (http://www.php.net/manual/en/function.strstr.php) verwenden - ist dafür gedacht, um nach Zeichenketten innerhalb von selbigen zu suchen.