如何在其他两个字符串中找到字符串的每个实例(标签)

时间:2011-04-19 17:22:26

标签: php html xml string

我正在使用的代码在另外两个字符串(标记)中搜索字符串。它搜索的字符串是ID的列表。 ID列在标签之间。我的代码可以成功地拉出并列出一个ID,但有没有办法循环它并将它们全部拉出并将它们分配给变量或数组?

以下是代码:


function get_string_between($string, $start, $end){

$string = " ". $string;

$ini = strpos($string,$start);

if ($ini == 0) return "";

$ini += strlen($start);

$len = strpos($string, $end, $ini) - $ini;

return substr($string, $ini, $len);

}


$resumeid = get_string_between($xml, "<ResumeID>", "</ResumeID>");

echo $resumeid;

我尝试使用foreach()函数,但它似乎不起作用:

foreach( $resumeid as $item )
{
    echo $item.'<br />';
}

我将如何做到这一点?

1 个答案:

答案 0 :(得分:1)

你需要循环函数而不仅仅是函数的结果,或者只使用正则表达式而不是一系列复杂的字符串函数会更容易。

preg_match_all("/(<ResumeID>)(\w+)(<\/ResumeID>)/", $xml, $matches);

foreach ($matches[0] as $match)
{
    echo $match."<br />";
}