2010-10-23 1 views
1

Использование функции strpos() в PHP, как я могу отгонять то, что нашел strpos()? Все предметы, которые он нашел. БлагодарностиPHP strpos(), найдены экземпляры эха

+1

Вы уверены, что понимаете, что делает эта функция? –

+0

Да, находит указанный текст из строки. Я хочу, чтобы он повторил то, что он нашел. – bobosoup

+0

Согласовано с Col. Shrapnel - вам, вероятно, больше интересно искать preg_match или какую-либо другую функцию регулярного выражения. – Duniyadnd

ответ

0

strpos находками является то, что вы говорите это, чтобы найти, так что в Ессенции вы спрашиваете это:

$needle="foo"; 
if (strpos($haystack, $needle)!==false) 
{ 
    echo $needle; 
} 

Может быть, вы на самом деле хотите сделать что-то еще?

+0

Если он найдет его, он вернет позицию в строке, используя 0 основанных значений. Поэтому, если вы попросили найти «foo» в «foobar», он вернет 0. – Matt

+0

да, да. –

0

strpos() возвращает только первую иглу, найденную в стоге сена. Если вам нужно найти все, что вы можете сделать что-то вроде этого:

$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); 

, который печатает 0, 3 и 6.

Edit: Я только что прочитал комментарии, я предположил, вы имели в виду позиции в функция, возможно, я ошибся :-p