找到匹配时剪切一个字符串,然后继续查找匹配项

时间:2015-03-17 15:47:53

标签: php string while-loop wiki

我正在尝试解决字符串问题。我需要搜索字符串,当它找到匹配时,它应该回显匹配并继续寻找更多匹配。

我想我找到了解决方案的一部分:

    <?php
    $string = $view[ingredience];
    $showingre = strstr($string, '<p>');
    $show = strstr($showingre, ' ', true);
    echo $show;
    ?>

字符串正在搜索看起来像这样的数据($ view [ingredience])

<p>100 tsk something</p><p>50 sptsk otherthing</p> ...

结果是它找到100和echo,但我需要一个循环,所以它可以找到50,依此类推。

2 个答案:

答案 0 :(得分:1)

您可以使用str_pos代替strstr,以便传入偏移量。每次找到匹配项时,请增加偏移量。

使用while - 循环或类似的东西继续搜索,直到你达到50(或字符串的结尾)。

答案 1 :(得分:0)

你应该使用正则表达式

$regexPattern = "/<p>(\d+)\s/gm";
$string = $view['ingredience'];
preg_match_all($regexPattern, $string, $matches);

//$matches will contains all your numbers 100,50,...