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

php, strpos

Solution

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?

Problem

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.

Original source