Met behulp van de functie strpos ben ik opzoek naar de beginpositie van een bepaalde substring binnen een string. Met een andere functie, substr_replace, kan ik vervolgens die substring verwijderen.
Het probleem ontstaat wanneer ik met strpos opzoek ga naar een string, die een spatie bevat. Dit is een stukje voorbeeldcode:
Zoals je ziet, zal $pos[2] het getal 0 retourneren (feitelijk boolean FALSE), omdat hij de opgegeven string (needle
) zogenaamd niet kan vinden. Ik had echter het getal 17 verwacht, omdat daar ", from Hol..." staat.
Het lijkt erop alsof er problemen ontstaan als mijn needle een spatie bevat. Klopt dat? En hoe werk ik dan om dit probleem heen?
Het probleem ontstaat wanneer ik met strpos opzoek ga naar een string, die een spatie bevat. Dit is een stukje voorbeeldcode:
PHP:
1
2
3
| $tekst = "I am from Holland, from Holland I am"; $pos[1] = strpos($tekst, 'from'); // retourneert 5 $pos[2] = strpos($tekst, ', from'); // retourneert 0! |
Zoals je ziet, zal $pos[2] het getal 0 retourneren (feitelijk boolean FALSE), omdat hij de opgegeven string (needle
Het lijkt erop alsof er problemen ontstaan als mijn needle een spatie bevat. Klopt dat? En hoe werk ik dan om dit probleem heen?