• Как правильно вывести дату при парсинге информаций?

    @OVK2015
    function getEpscapeData($content)
    	{		
    		$regExpDateWrapper =
    			"#".
    			"(?=<div class=\"epdate\">)(?:.*?)(\d{1,2}\s.*?)(?:</span>|</small></h5>)(?:</div>)".
    			"(?:(?:<div class=\"episode\">)(.*?)(?:</div></div></div>))+".
    			"#si";		
    		$regExpMovieWrapper = 
    			"#".
    			"(?:<div class=\"episode\">)(?:.*?)".
    			"(?:<a href=\")(.*?)\"(?:.*?)".
    			"(?:<div class=\"shrutitle\"><a(?:.*?)>)(.*?)(?:</a>)".
    			"(?:.*?)(?:class=\"shtitle\">)(.*?)</div>".
    			"(?:.*?)(?:class=\"eptitle\"><b>)(.*?)(?:</b>\s{0,})(.*?)".
    			"(?:</div></div></div>)".
    			"#si";
    		preg_match_all($regExpDateWrapper, $content, $dateMatches, PREG_SET_ORDER);		
    		foreach($dateMatches as $currentDate) 
    		{			
    			echo iconv("UTF-8", "CP1251", $currentDate[1])."\n";
    
    			preg_match_all($regExpMovieWrapper, $currentDate[0], $movieMatches, PREG_SET_ORDER);
    			foreach($movieMatches as $currentMovie) 
    			{
    				$movieInfo = 
    					"Link: ".$currentMovie[1]."\n".
    					"Название сериала: ".$currentMovie[2]."\n".
    					"Оригинальное название: ".$currentMovie[3]."\n".
    					"Название эпизода: ".$currentMovie[4]." ".$currentMovie[5]."\n\n";
    				echo iconv("UTF-8", "CP1251", $movieInfo);	
    			}
    			echo "*********************************\n";
    		}		
    	}


    Держите код. По мне, так regExp в данном случае лучше, чем xpath. Шустрее будет, чем с DOM в PHP возиться.
    У меня вопрос: а вы, часом, похожие сайты не знаете?

    Так, ну примерно так:
    javascript:

    var pageIndex=1;
    $.ajax
        		({
                    url: 'путь к php файлу',                
                    data: {pageIndex: pageIndex},
                    type: 'get',
                    success: function(answer)
                    {
                            // Добавляем результат на страницу
                    	console.log(answer);    
                            pageIndex += 3;            	
                    },
                    error: function(error)
                    {
                    	console.log('Ошибка');
                        console.log(error);
                    }
         		});


    В php
    $answer = "";
    $url = "http://epscape.com/calendar/next/";
    
    $pageIndex = $_REQUEST['pageIndex'];
    for($counter = 0; $counter < 3; $counter++)
    {
       $answer .= getEpscapeData($url.($counter + 1));
    }
    echo $answer;
    
    function getEpscapeData($url)
    {
    ........
    return recievedData;
    }


    В кратце как-то так. На смарте не удобно писать.
    Ответ написан
  • Как правильно вывести дату при парсинге информаций?

    miraage
    @miraage
    Старый прогер
    Придраться практически всегда можно к любому коду.
    Однако хочу Вас похвалить за то, что используете xpath, а не парсите регулярками, как это делает немалое количество людей.
    Ответ написан
    Комментировать