In PHP, strpos() fails to find double quote ('"') in string

Daniel Bingham picture Daniel Bingham · Jan 31, 2010 · Viewed 7.9k times · Source

Both this:

echo 'Tok: '.$tok.' Strpos: '.strpos($tok, "\"").' length: '.strlen($tok).'<br>';

And this:

echo 'Tok: '.$tok.' Strpos: '.strpos($tok, '"').' length: '.strlen($tok).'<br>';

Result in the following output:

Tok: "fresh Strpos: length: 11

Strpos is failing completely to find the double quote, it returns false (I checked with strpos() === false). Can someone tell me what's going on here? I can find no documentation suggesting that strpos can't handle double quotes, why isn't it finding it? I am at my wits end.

Answer

Pekka picture Pekka · Jan 31, 2010

Are you 1000% sure that the double quote in $tok is actually a literal " and not a HTML entity? Can you check your HTML code?