[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Транслитирация части текста
Страницы: 1, 2
Vasyok
Все знают и молчат)))
walerus
Васек, я вот если честно вообще не пойму что тебе нужно, я пример показал, какие страницы... откуда... как их создавать ??? непонятно, ты нашел тайтл, дальше что с ним нужно делать, причем тут php файлы, которые ты создаешь?, что ты в них пишешь?, по какому принципу/логике...
Vasyok
Цитата (walerus @ 5.12.2013 - 00:45)
Васек, я вот если честно вообще не пойму что тебе нужно, я пример показал, какие страницы... откуда... как их создавать ??? непонятно, ты нашел тайтл, дальше что с ним нужно делать, причем тут php файлы, которые ты создаешь?, что ты в них пишешь?, по какому принципу/логике...

Здравствуйте, вот например дана карта сайта http://secretworlds.ru/sitemap.xml в здесь есть ссылки на все страници сайта, при парсинге берем один урл например http://secretworlds.ru/publ/33-1-0-6045 тут есть тайтл "Илья-Муромец и Соловей-Разбойник" берем 30 знаков делаем транслит и сохраняем как файл Ilya-Muromets-i-Solovey.php в который записываем весь html документ или то что входит в определенный участок <body></body> страница с ЧПУ
приблизительно как здесь http://phpforum.ru/index.php?showtopic=56429 sad.gif
Vasyok
с помощю simplexml удобно парсить rss где есть <link> и <title>, а в sitemap.xml только <loc> тоесть нужно пройти по ссылке с sitemap.xml на страницу забрать 30-40 символов тайтла, зделать транслит, сохранить как title.php и закинуть в этот файл то что на странице с которой мы брали title и так циклом
Vasyok
Код парсинга xml сохранив url и title

set_time_limit(0);   
$url = "http://history-autocars.ru/sitemap.xml";
function FetchUrl($url, $postvars, $timeout, $ref, $blank){
sleep($timeout);
echo @date("r")." fetching $url \r\n";
$ch = curl_init();
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_TIMEOUT,30);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL, trim($url));
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
$result = curl_exec($ch);
if($blank == "1"){
$result = preg_replace("/\n/", "", $result);
$result = preg_replace("/\r/", "", $result);
}
curl_close($ch);
return $result;
}
$page = FetchUrl($url, NULL, NULL, NULL, NULL);
preg_match_all("!<loc>(.*?)<\/loc>!si", $page, $out);
$fp=fopen("pars_title.txt","w"); //сохраняется файл с title и url
foreach($out[1] as $link){
$page = FetchUrl($link, NULL, NULL, NULL, NULL);
file_put_contents("log.txt",$page);
preg_match("!<title>(.*?)<\/title>!si", $page, $tit);
echo '".$link."|".$tit[1]."'; flush();
fwrite($fp,'<title>'.$tit[1].'</title>'.'<loc>'.$link.'<loc>'."\r\n");
}
fclose($fp);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.