ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3491  
Старый 09.06.2008, 12:00
Аватар для ch[@]ch
ch[@]ch
Banned
Регистрация: 21.06.2007
Сообщений: 87
Провел на форуме:
543344

Репутация: 43
По умолчанию

помогите пожалуйста.
При переходе с сайта на форум,по профилю...выходит ошибка
PHP код:
Fatal error: Class 'tree' not found in **************************** on line 2 

как это исправить? в этом файле (***) 2 строчка такова
PHP код:
tree::create(0); 
помогите пожалуйста,заранее спасибо.
 
Ответить с цитированием

  #3492  
Старый 09.06.2008, 12:06
Аватар для Корвин
Корвин
Участник форума
Регистрация: 26.02.2007
Сообщений: 259
Провел на форуме:
302951

Репутация: 67
Отправить сообщение для Корвин с помощью ICQ
По умолчанию

должен быть файл в котором задается этот класс, он должен поидее сверху подключатся к твоему файлу, посмари что нить типа require_once() или include() и внутри одной из этих функций путь к файлу, тебе его нада найти потом посмотрим
 
Ответить с цитированием

  #3493  
Старый 09.06.2008, 12:17
Аватар для .:EnoT:.
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме:
4832771

Репутация: 1916


По умолчанию

Цитата:
Сообщение от halkfild  
тебе нужно конкретнее писать регулярку..

твое
собирает абсолютно всё.. посмотри хтмл и ты увидишь, что там много мусора
нужно конкретнее писать регулярку.

как вариант:
PHP код:
<?php

$str
=' <div class="abc"> 
Какой-то блок текста 1 
</div> 
<div class="abc"> 
Какой-то блок текста 2 
</div> 
<div class="abc"> 
Какой-то блок текста 3 
</div> 
<div class="abc"> 
Какой-то блок текста 4 
</div> '
;

preg_match_all('/<div class="abc">\s\n(([^<]+))<\/div>/si'$str$result);
$result $result[1];

echo 
'<pre>';
print_r($result); 
echo 
'</pre>';
?>
даст результат

Согласен. Только проблема в том что как ты наверно понял, что у меня между тегами <div></div> не только просто блоки текста, там куча других тегов, таблиц. И всё это нужно отпарсить и потом работать уже с каждым в отдельности
Ну банальный пример:
PHP код:
$str '<u>

<table border="1"><tr>
<td></td>
<div class="my_class1">Текст1</div>
<td>Другой какой-то текст1</td>
</tr></table>
<img src="img.gif" id="img1" />
<div id="some_id1">Ещё текст1</div>
<a href="1.php">Какая-то там ссылка1</a>
<div id="my_id1">Тоже текст1</div>

</u>
<u>

<table border="1"><tr>
<td></td>
<div class="my_class2">Текст2</div>
<td>Другой какой-то текст2</td>
</tr></table>
<img src="img.gif" id="img2" />
<div id="some_id2">Ещё текст2</div>
<a href="2.php">Какая-то там ссылка2</a>
<div id="my_id2">Тоже текст2</div>

</u>'
;
preg_match_all('/<u>(.+)<\/u>/si'$str$a);
echo 
'<pre>';
print_r($a);
echo 
'</pre>'
И на выходе должно быть что-то вроде:
PHP код:
Array(
[
0]=>my_class1 Текст1 Другой какой-то текст1 img1 some_id1 Ещё текст1 1.php Какая-то там ссылка1 my_id1 Тоже текст1,
[
1]=>my_class2 Текст2 Другой какой-то текст2 img2 some_id2 Ещё текст2 2.php Какая-то там ссылка2 my_id2 Тоже текст2,
..
etc..

Вот в таком духе. Поэтому я и использовал (.+) чтобы получить всю эту ересь в отдельный массив и потом уже с каждым массивом работать, то есть мне отпарсить нужно не только текст, но и все id-шники и классы дивов, ссылок и изображений, ссылки на сами изображения и т.д. вот. Ну проще говоря name, id, классы, src, onclick() и конечно сам текст...
 
Ответить с цитированием

  #3494  
Старый 09.06.2008, 15:47
Аватар для VDShark
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

Репутация: 526
По умолчанию

Цитата:
Сообщение от .:EnoT:.  
Есть предположим такая страница:
PHP код:
<div class="abc">
Какой-то блок текста 1
</div>
<
div class="abc">
Какой-то блок текста 2
</div>
<
div class="abc">
Какой-то блок текста 3
</div>
<
div class="abc">
Какой-то блок текста 4
</div
Регуляркой парсю всё это безобразие:
Да, я наконец-то нашёл время почитать про регулярки
PHP код:
preg_match("/<div class=\"abc\">(.+)<\/div>/is",$str,$a);
print_r($a); 
Получаю:
PHP код:
Array (
[
0] =>
Какой-то блок текста 1
Какой
-то блок текста 2
Какой
-то блок текста 3
Какой
-то блок текста 4
[1] =>
 
Какой-то блок текста 1
Какой
-то блок текста 2
Какой
-то блок текста 3
Какой
-то блок текста 4 
Подставлял U, но находит только первое вхождение)

А теперь вопрос:
Как сделать регулярку (или другими способами), чтобы каждый "Какой-то блок текста" был в отдельном массиве, т.е:
PHP код:
Array ( 
[
0] =>Какой-то блок текста 1,
[
1] =>Какой-то блок текста 2,
[
2] =>Какой-то блок текста 3,
[
3] =>Какой-то блок текста 4
...etc...) 
Пробовал с preg_match_all(), тоже не помогло.
Сильно в твою проблему не вникал, но понял следующее: он у тебя все загоняет в один элемент, т.к. по умолчанию регулярки "жадные", т.е. под твою регулярку попадает все, от первогодива класса abc до последнего закрывающего тег див. Поэтому тебе необходимо использовать так называемый модификатор "жадности" (U).

Т.е. нечто вроде:

PHP код:
preg_match_all("/<div class=\"abc\">(.+)<\/div>/isU",$str,$a); 
В первом элементе массива $a будет нужный тебе массив
 
Ответить с цитированием

  #3495  
Старый 09.06.2008, 17:29
Аватар для Корвин
Корвин
Участник форума
Регистрация: 26.02.2007
Сообщений: 259
Провел на форуме:
302951

Репутация: 67
Отправить сообщение для Корвин с помощью ICQ
По умолчанию

у меня есть менюшка которая в цикле генерица, мне очень нужно сохранить уже сгенеренный код в файлик, типа как если бы открыть через браузер, и када все прогрузится скопировать то что в источнике получилось, только мне это нужно не открывая браузер чтобы скрипт сгенерил код страницы а потом сохранил его, такое возможно?


я попробовал после кода который генерит страницу засунуть file_get_contents и путь там указал к этому же файлу только с припиской урла сайта, чтобы типа он потом сам на себя зашол и скопировал код, но так не вышло....=(

Последний раз редактировалось Корвин; 09.06.2008 в 17:41..
 
Ответить с цитированием

  #3496  
Старый 09.06.2008, 18:58
Аватар для mff
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме:
5866479

Репутация: 1809


Отправить сообщение для mff с помощью ICQ
По умолчанию

Люди, подскажите почему сессия не стартует?
Тупо пишу:
PHP код:
session_start(); 
Выдает ошибку:
PHP код:
Warningsession_start() [function.session-start]: Cannot send session cache limiter headers already sent (output started at C:\www\sites\rfo\public.php:7in... 
 
Ответить с цитированием

  #3497  
Старый 09.06.2008, 19:00
Аватар для groundhog
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

Смотри public.php строку 7 - там какая-то инструкция уже начала вывод. Сессии посылаются в хидерах, поэтому вызов session_start() должен предшествовать началу вывода любой информации.
 
Ответить с цитированием

  #3498  
Старый 09.06.2008, 19:10
Аватар для Isis
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

На вашем новичковском это значит что строку session_start(); надо поместить самой первой строчкой в файле (после <?php)
 
Ответить с цитированием

  #3499  
Старый 09.06.2008, 19:38
Аватар для mff
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме:
5866479

Репутация: 1809


Отправить сообщение для mff с помощью ICQ
По умолчанию

Да, я уже понял, стартанул ниже тегов <html>... спасибо!
 
Ответить с цитированием

  #3500  
Старый 09.06.2008, 19:41
Аватар для oRb
oRb
Members of Antichat - Level 5
Регистрация: 09.05.2008
Сообщений: 304
Провел на форуме:
7875940

Репутация: 2362
По умолчанию

Цитата:
Сообщение от Корвин  
у меня есть менюшка которая в цикле генерица, мне очень нужно сохранить уже сгенеренный код в файлик, типа как если бы открыть через браузер, и када все прогрузится скопировать то что в источнике получилось, только мне это нужно не открывая браузер чтобы скрипт сгенерил код страницы а потом сохранил его, такое возможно?


я попробовал после кода который генерит страницу засунуть file_get_contents и путь там указал к этому же файлу только с припиской урла сайта, чтобы типа он потом сам на себя зашол и скопировал код, но так не вышло....=(
используй крон.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ