PHP在XML feed中找到关键字 - preg_match_all

时间:2014-02-18 11:14:45

标签: php preg-match-all

我正在使用XML加载rss feed。然后我尝试在RSS源中搜索关键字。然后,我需要通过电子邮件向我发送通知,告知它发现了这些关键词及其内容。

示例我有:

$keywords = "iphone|ipad|ipod";

$rss = simplexml_load_file("http://myfeed.com/news?format=xml");
foreach ($rss->entry as $i)
{
  //need to check the title tag for the keywords
  //email myself a notification with the keywords found 
}

UPDATE 好的,我有以下部分工作:

    function getPartsWithRegex($text, $regex){
    preg_match_all($regex, $text, $array);
    return $array[0];
}

$keywords = "LLC|socks";

$rss = simplexml_load_file("http://feeds.myfeed.com/iphoneapps-news?format=xml");

$text = "Downcast - Jamawkinaw Enterprises LLC";
$regex = "/$keywords/i";


foreach ($rss->entry as $i)
{
$title = (string)$i->title;
$productNumbers = getPartsWithRegex($text, $regex);
}


if(count($productNumbers) > 0){
    foreach($productNumbers as $productNumber){
        echo $productNumber . '<br />';
    }
}
else {
    echo "Nothing found.";
}

当我传递$ productNumbers = getPartsWithRegex($ text,$ regex)时,这是有效的;但是,当我通过价值为$ i-&gt; title的$ title时,它不起作用。即使我在浏览器中反映出$ title的价值,它也会呈现为:Downcast - Jamawkinaw Enterprises LLC

因此,为了澄清何时我手动输入并传递一个字符串,它的工作正确。但是,当我从读取的XML传递值时,它不会。我已经尝试过转换为字符串,但这不起作用。

任何想法为什么?

0 个答案:

没有答案