Страница1Страница"страница№ и так далее.
Вопрос - как можно отделить страницы друг от друга? Вот код:
<?php
define('MAX_STR', $_POST['number']); //получение из формы кол-ва страниц
define('MAIN_URL', $_POST['incoming']); //получение адреса, где эти страницы находятся
$unique_start = "<inject>"; //Спец теги в страницах, текст между которыми и обрабатывается скрипом
$unique_end = "</inject>";
for($i=1; $i<=MAX_STR; ++$i){
// http://site.ru/1.html .. http://site.ru/5000.html
$url = MAIN_URL.'/'.$i.'.html';
$content = weather($url, $unique_start, $unique_end); //Присваиваем переменной результат функции. Она внизу
require_once('wp-config.php'); //Загружаем конфиг с настройками БД вордпресса
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); //Устанавливаем параметры соединения.
mysql_select_db(DB_NAME, $link);
$query = "INSERT INTO `wpres`.`wp_posts` (
`ID` ,
`post_author` ,
`post_date` ,
`post_date_gmt` ,
`post_content` ,
`post_title` ,
`post_excerpt` ,
`post_status` ,
`comment_status` ,
`ping_status` ,
`post_password` ,
`post_name` ,
`to_ping` ,
`pinged` ,
`post_modified` ,
`post_modified_gmt` ,
`post_content_filtered` ,
`post_parent` ,
`guid` ,
`menu_order` ,
`post_type` ,
`post_mime_type` ,
`comment_count`
)
VALUES (
NULL , '1', '".date("Y-m-d H:m:s",time()-rand(60,3600*4))."', '".date("Y-m-d H:m:s",time()-rand(60,3600*4))."', '".addslashes($content)."', 'inject', 'title', 'publish', 'open', 'open', '', 'zzz', '', '', '".date("Y-m-d H:m:s",time()-rand(60,3600*4))."', '".date("Y-m-d H:m:s",time()-rand(60,3600*4))."', '', '0', '', '0', 'post', '', '0'
)"; //задаем запрос (потом добавлю фуннкцию использования первой строчки в качестве post_title. Пока не могу отделить страницы, это не целесообразно)
mysql_query($query, $link); //выполняем
mysql_close($link); //Закрываем соединение
}
//Функция извлечения
function weather($url, $unique_start, $unique_end){
$code = file_get_contents($url);
preg_match('/'.preg_quote($unique_start, '/').'(.*)'.preg_quote($unique_end, '/').'/Us', $code, $match);
return $match[1];
}
?>
Зараннее спасибо.
Спустя 6 часов, 9 минут, 49 секунд (4.07.2010 - 17:52) Intracomof написал(а):
explode()'ом никак?
Спустя 20 минут, 37 секунд (4.07.2010 - 18:12) Altair-Z написал(а):
Никогда не пользовался данной функцией, но исходя из ее описания, она не подойдет, т.к. содержимое страниц заранее неизвестно
Спустя 6 минут, 5 секунд (4.07.2010 - 18:18) sergeiss написал(а):
Во-первых, подключаться к БД в цикле, на каждой итерации - это значит очень сильно нагружать БД, причем не по делу.
Во-вторых, ты определяешь константы, при этом не проводишь проверку введенных данных.
А в-третьих, я вообще не понял, где именно ты получаешь "Страница1Страница"страница№ и так далее". Какие страницы ты собираешься отделять друг от друга???
Во-вторых, ты определяешь константы, при этом не проводишь проверку введенных данных.
А в-третьих, я вообще не понял, где именно ты получаешь "Страница1Страница"страница№ и так далее". Какие страницы ты собираешься отделять друг от друга???
Спустя 1 час, 27 минут, 39 секунд (4.07.2010 - 19:46) Altair-Z написал(а):
а как лучше оптимизировать запись в БД?
В переменной $content на выходе получается содержание всех страниц без пробелов. Например:
1-я - qwerty
2-я - qwertz
3-я - azerty
запускаю скрипт, в бд в колонке post_content получаю - qwertyqwertzazerty
вопрос: как сделать так, чтобы каждая страница писалась отдельным постом в бд? С учетом того, что количество текста на страницах зараннее известно не будет?
В переменной $content на выходе получается содержание всех страниц без пробелов. Например:
1-я - qwerty
2-я - qwertz
3-я - azerty
запускаю скрипт, в бд в колонке post_content получаю - qwertyqwertzazerty
вопрос: как сделать так, чтобы каждая страница писалась отдельным постом в бд? С учетом того, что количество текста на страницах зараннее известно не будет?