2010-10-23 24 views
1

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

+1

Etes-vous sûr de bien comprendre ce que fait cette fonction? –

+0

Oui, trouve le texte spécifié à partir d'une chaîne. Je veux qu'il fasse écho à ce qu'il trouve. – bobosoup

+0

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

Répondre

0

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.

+0

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

+0

oui, oui, il le fera. –

0

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