Это моя первая попытка сценария php после нескольких недель обучения.Так что, в основном, я разбираю фид блога XML.Во-первых, если получена дата публикации в блоге и если она совпадает с сегодняшней датой по времени Лос-Анджелеса, она пойдет дальше и получит текущие URL-адреса сообщений в блоге за день.В противном случае он вернет "нет совпадения".После нахождения сообщений в блоге на сегодня, если будет собирать URL каждого сообщения.Теперь вот моя проблема, независимо от того, что я делаю, она всегда не находит совпадений в коде, который я ищу.Я предполагаю, что это не проверка каждого URL, но так как мои знания ограничены, я могу быть уверен.Я пытаюсь найти в каждом сообщении числовую строку с помощью регулярного выражения, и если она найдена, я хочу вывести эту строку и завершить сценарий или, если код не найден, вывести сообщение с указанием этого и завершить сценарий.Также, если вы нашли лучший или более эффективный способ переписать мой код, чтобы немного его очистить, я тоже приветствую это
/*------------------------------------------------
//XML File and Parsing
------------------------------------------------*/
//XML document
$rss = simplexml_load_file($xmlfeed);
//Blog Dates
$blogdate = $rss->channel->item;
//Blog URLS
$blogurl = $rss->channel->item;
/*------------------------------------------------
//Date Variables
------------------------------------------------*/
//Original date format: Mon, 26 Sep 2011 22:00:08 +0000
$post_date = $date->pubDate;
//Original date format: September 26 2011
$todays_date = date("F j Y");
$timezone = new DateTimeZone('America/Los_Angeles');
//Format blog post dates into PDT
$date1 = new DateTime($post_date);
$date1->setTimeZone($timezone);
//Output date: September 26 2011
$post_date_final = $date1->format("F j Y");
//Format server date into PDT
$date2 = new DateTime($todays_date);
$date2->setTimeZone($timezone);
//Output date: September 26 2011
$todays_date_final = $date2->format("F j Y");
echo $post_date;
/*------------------------------------------------
//Checking and Looping
------------------------------------------------*/
//Looping through blog dates for a mtach
foreach ($blogdate as $date) {
//If dates match continue to gather URLs
if ( $post_date_final == $todays_date_final ) {
foreach ($blogurl as $url) {
$postone = $url->guid[0];
$posttwo = $url->guid[1];
$postthree = $url->guid[2];
$postfour = $url->guid[3];
$postfive = $url->guid[4];
$postsix = $url->guid[5];
$go = array($postone, $posttwo, $postthree, $postfour, $postfive, $postsix);
foreach ($go as $stop){
$html = file_get_contents($stop);
preg_match('/cd=\b[0-9]{8,15}\b/', $html, $match);
$regex_match = $match[0];
if (isset($regex_match)) {
echo $regex_match;
}else{
echo "no match";
exit;
}
}
}
}else{
echo "no match";
exit;
}
}