En utilisant la fonction strpos()
en PHP, comment puis-je faire écho ce que strpos()
a trouvé? Tous les objets qu'il a trouvés. MerciPHP strpos(), renvoyant des instances trouvées
Répondre
strpos trouve est ce que vous dites à trouver, donc dans Essense vous demandez ceci:
$needle="foo";
if (strpos($haystack, $needle)!==false)
{
echo $needle;
}
Peut-être que vous voulez vraiment faire autre chose? Strpos() renvoie uniquement la première aiguille trouvée dans la botte de foin.
S'il le trouve, il renvoie la position its at dans la chaîne en utilisant 0 valeurs basées. Donc, si vous avez demandé à trouver "foo" dans "foobar", il retournera 0. – Matt
oui, oui, il le fera. –
Si vous avez besoin de trouver tous, vous pouvez faire quelque chose comme ceci:
$str = "abcabcabc";
$arr = array();
$delChar = 0;
while (($pos = strpos($str, "a")) !== false) {
$arr[] = $pos + $delChar;
$delChar += strlen($str) - strlen(substr($str, $pos + 1));
$str = substr($str, $pos + 1);
}
var_dump($arr);
qui imprime 0, 3 et 6.
Edit: Je viens de lire les commentaires, je vous supposais voulais dire les positions des fonction trouvée, peut-être que je me trompais :-p
Etes-vous sûr de bien comprendre ce que fait cette fonction? –
Oui, trouve le texte spécifié à partir d'une chaîne. Je veux qu'il fasse écho à ce qu'il trouve. – bobosoup
D'accord avec le colonel Shrapnel - Vous êtes probablement plus intéressé par la recherche de preg_match ou d'une autre fonction d'expression régulière. – Duniyadnd