Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите исправить 
V
    Опции темы
Dobermann
Дата 25.8.2009, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: -2
Всего: 0



Код

<?

header("Content-Type: text/html; charset=windows-1251");

$count = $_GET['count'];
$i=1;
$j=1;
$lol='';
$link = 'http://www.*******.php?*******&sid=';

while ($i<=$count){
$lol='';
$lol=$link+$j;
$content = file_get_contents($lol);
preg_match_all('#<div.*?>(.*?)</div>#is', $content, $text);
$text = preg_replace('#<h1.*?</h1>#', '', $text[1][4]);
$text = preg_replace('#<h2>.*?</h2>#', '', $text);
$text = preg_replace('#<p>#', '', $text);
$text = preg_replace('#</p>#', '', $text);
$text = preg_replace('#\n#', '', $text);
$f = fopen("text.txt","a+");
fwrite($f, $text);
fwrite($f, "\r \n");
fclose($f);
$i++;
$j++;
}

?> 

Как исправить чтобы парсилось все, кроме того что в тегах <noindex>не парсилось</noindex>
подскажите плиз, с меня +++ 
PM   Вверх
unicross
Дата 25.8.2009, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 21
Всего: 53



Удалите эти теги в самом начале и все...
Код

$content = file_get_contents($lol);
$content = preg_replace('#<noindex.*?</noindex>#is', '', $content);

PM MAIL WWW   Вверх
Dobermann
Дата 26.8.2009, 01:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: -2
Всего: 0



Че то нифига не работает =\ текстовый файл вообще пустой...
А эта часть кода что означает?
Код

preg_match_all('#<div.*?>(.*?)</div>#is', $content, $text);
$text = preg_replace('#<h1.*?</h1>#', '', $text[1][4]);
$text = preg_replace('#<h2>.*?</h2>#', '', $text);
$text = preg_replace('#<p>#', '', $text);
$text = preg_replace('#</p>#', '', $text);
$text = preg_replace('#\n#', '', $text);

PM   Вверх
NewDima
Дата 26.8.2009, 04:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



Скажи конкретно, что именно и как тебе нужно парсить?
Судя по коду тебе нужно поудалять различные теги и переход на новую строку,
причем тут noindex я так и не понял. Объясни задачу подробно
PM ICQ   Вверх
Dobermann
Дата 26.8.2009, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: -2
Всего: 0



Нужно напарсить все то что находится после тегов <br>, а они находятся вне тегов <noindex></noindex>
примерно так:
Код

</noindex>
<br>кекуе
<br>церцер
<br>цекрцекр
<br>керцекрцекр
<br>церыцекрце
<br>рерцекр
<br>ethwthwth
<br>wtrhwtrhrt
<noindex>

но так же есть теги <br> которые находятся внутри <noindex></noindex> но их парсить не надо, поможешь?

Это сообщение отредактировал(а) Dobermann - 26.8.2009, 14:55
PM   Вверх
NewDima
Дата 26.8.2009, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



Dobermann, у слова парсить нет единственного определенного значения. Что именно нужно тебе сделать с содержимым, невходящим в noindex? Как именно парсить?
PM ICQ   Вверх
unicross
Дата 26.8.2009, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 21
Всего: 53



Цитата(Dobermann @  26.8.2009,  02:47 Найти цитируемый пост)
А эта часть кода что означает?

Dobermann, я вообще-то полагал, что вы сами знаете что это за код. smile 

Судя по коду он получает содержимое 5-го дива и удаляет заголовки, символы абзацев и переносы строк.

Dobermann, объясните что конкретно нужно получить? Все содержимое тега BODY без фрагментов запрещенных к индексации? Тогда так:
Код

preg_match_all('#<body.*?>(.*?)</body#is', $content, $text);
$body = $text[1][0];
$body = preg_replace('#<noindex.*?</noindex>#is', '', $body);


PM MAIL WWW   Вверх
Dobermann
Дата 26.8.2009, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: -2
Всего: 0



Вообщем нужно напарсить весь текст который после тегов <br>

Цитата(unicross @  26.8.2009,  16:04 Найти цитируемый пост)
Dobermann, я вообще-то полагал, что вы сами знаете что это за код. smile 

ага, в основном! smile 
PM   Вверх
NewDima
Дата 26.8.2009, 19:30 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



Dobermann,  smile , еще раз объясняю, нет такого отдельного самостоятельного понятия "напарсить". Вот если говоришь, побегать или попрыгать, то сразу ясно, потому как за этими словами виден сразу их смысл. А "напарсить" это как? У меня первые ассоциации "накромсать" "нашмалять", короче ничего путнего. В общем пока не сформулируешь что ты имеешь ввиду под словом "напарсить" ничего не получится
PM ICQ   Вверх
Dobermann
Дата 26.8.2009, 21:28 (ссылка)    | (голосов:6) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: -2
Всего: 0



Цитата(NewDima @  26.8.2009,  20:30 Найти цитируемый пост)
А "напарсить" это как? У меня первые ассоциации "накромсать" "нашмалять"

Учи албанский!!!
PM   Вверх
enof
Дата 26.8.2009, 21:59 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Цитата(Dobermann @  26.8.2009,  15:52 Найти цитируемый пост)
Нужно напарсить все то что находится после тегов <br>, а они находятся вне тегов <noindex></noindex>

Код

$text = preg_replace('#<noindex>.*</noindex>#Usi', '', $text);
preg_match_all('#<br>(.*)#i', $text, $out);
echo "<pre>";
print_r($out[1]);

Цитата(Dobermann @  26.8.2009,  22:28 Найти цитируемый пост)
Учи албанский!!! 

причем тут албанский?
парсить от английского parse - разбор, анализ. Мб лучше самим учить русский, английский и php?

PM MAIL ICQ Skype   Вверх
SoWa
Дата 26.8.2009, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Давайте жить дружно smile
Dobermann, я код мельком глянул, но задачу понял. Если тебе не нужно парсить теги <br> внутри определенной конструкции, то создай переменную типа boolean и её при входе в "неприкасаемую конструкцию" изменяй на true. А при парсинге твоего тега всегда проверяй- тру она, или не тру smile
Примерно так:
Код

if ( strripos(строчка_которую_парсим, "<noindex>") ) // Вот так мы найдем, что вошли в неприкасаемую конструкцию.
{
$nontouch=true;
}

if ( strripos(строчка_которую_парсим, "</noindex>") ) // Вот так мы найдем, что вышли из неприкасаемой конструкции.
{
$nontouch=false;
}

if ( strripos(строчка_которую_парсим, "<br>") ) //Вот мы нашли БР
{
if ($nontouch == true) {...} //А этот БР у нас в неприкасаемой конструкции? Ага! Оставим его
else
{...} //Опа, а вот он просто болтается, удалить к черту.
}


Это сообщение отредактировал(а) SoWa - 26.8.2009, 22:38


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Dobermann
Дата 28.8.2009, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: -2
Всего: 0



Во, спасибо, дальше сам как нить...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0987 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.