我正在使用的代码在另外两个字符串(标记)中搜索字符串。它搜索的字符串是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 />';
}
我将如何做到这一点?
答案 0 :(得分:1)
你需要循环函数而不仅仅是函数的结果,或者只使用正则表达式而不是一系列复杂的字符串函数会更容易。
preg_match_all("/(<ResumeID>)(\w+)(<\/ResumeID>)/", $xml, $matches);
foreach ($matches[0] as $match)
{
echo $match."<br />";
}