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

  #101  
Старый 17.12.2008, 18:44
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

Постараюсь все-таки объяснить, что Вы биплан (самолет такой убогий)

Начнем - в быдлокоде, что Вы предложили последним. С помощью жадной регулярки получаете массив. Элемент $result[0][0] содержащий ВСЮ переменную $in. (Если у вас вдруг установлен PHP можете это проверить) Дальше вы разбиваете этот массив и выводите все не пустые строки. Но ояебу, можно было бы написать echo $in; результат был бы тот же.

Заметьте, я объяснил в чем вы не правы, и насколько вы не правы. При этом я не свел все это рассуждение, как вы - "моя твоя труба качал".

Прежде чем что-то, кому-то советовать, проверяйте все таки это у себя.
 
Ответить с цитированием

  #102  
Старый 17.12.2008, 19:11
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


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

"Прежде чем что-то, кому-то советовать, проверяйте все таки это у себя."

ыыыы, во-во, вот и проверь-те:

PHP код:
<?
$in

'<div class="a1"> 
    <div class="b1"> 
        <div class="c1"> 
            sometext1 
        </div> 
        <div class="c2"> 
            sometext2 
        </div> 
    </div> 
</div> 
<div class="a1"> 
    <div class="b1"> 
        <div class="c1"> 
            sometext3 
        </div> 
        <div class="c2"> 
            sometext4 
        </div> 
    </div> 
</div>'
;


if (
preg_match_all('/<div class="a1">(.*)<\/div>/s'$in$result)) 
echo 
'Оле!'"\r\n"; else echo 'Нету такого';
print_r ($result);
?>
ЗЫЖ Чем дальше в лес, тем глубже человек загоняет себя в задницу

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

  #103  
Старый 17.12.2008, 19:21
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

2Gifts
PHP код:
'~<div class="\w\d">((?:[^<>]+|(?R))*)</div>~si' 
 
Ответить с цитированием

  #104  
Старый 17.12.2008, 19:26
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


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

Цитата:
Сообщение от astrologer  
2Gifts
PHP код:
'~<div class="\w\d">((?:[^<>]+|(?R))*)</div>~si' 
))) И? Вы чо тут, сговорились что ли?)) В итоге все равно раздельных значений нет)))))) Все равно explode применять)) И если сделать:

PHP код:
$t explode("\r\n"$result[0][0]);
print_r ($t); 
То там те же пустые строки присутствуют, да еще только первых двух значений

А моя регулярка в разы проще, и, что самое главное, корректней

Последний раз редактировалось Pashkela; 17.12.2008 в 19:32..
 
Ответить с цитированием

  #105  
Старый 17.12.2008, 19:59
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Цитата:
Сообщение от Pashkela  
))) И? Вы чо тут, сговорились что ли?)) В итоге все равно раздельных значений нет)))))) Все равно explode применять)) И если сделать:

PHP код:
$t explode("\r\n"$result[0][0]);
print_r ($t); 
То там те же пустые строки присутствуют, да еще только первых двух значений

А моя регулярка в разы проще, и, что самое главное, корректней
Показываешь своё незнание?
 
Ответить с цитированием

  #106  
Старый 17.12.2008, 20:01
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


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

Цитата:
Сообщение от astrologer  
Показываешь своё незнание?
а по делу? Гы-гы просто

ЗЫЖ Продолжаем разговор. Сами запустите свой скрипт хоть разок и посмотрите, чо там, где да как

ЗЗЫЫЖЖ Я в шоке сегодня с некоторых доселе уважаемых мною личностей

PS: И еще, чтобы безосновательно не тыкать в меня пальцем и не кричать "ОН ЛАМО!" (я не знаю, может у тебя любовь там с Gifts или еще что) может выложим готовый код по решению задачи Gifts-а именно в том ручье, в котором он думает, оно ему надо? Не просто регулярку какую-то взятую с неба и абсолютно бестолковую на мой взгляд, а код, от А до Я, как у меня? Тогда и сравним, чей код быстрей, правильней и оптимальней Пока я тут наблюдаю только один рабочий код - а именно свой. Со всем риспектом и etc.

Последний раз редактировалось Pashkela; 17.12.2008 в 20:12..
 
Ответить с цитированием

  #107  
Старый 17.12.2008, 20:15
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Хорошо, чтобы не быть голословными, разберём результаты работы двух вариантов. Итак, для начала выясним, сколько было всего найдено совпадений.
У твоего варианта - одно, что уже фейл. Вот это совпадение, начинается на начале первого блока и захватывает заодно и второй (было бы их там 200, всё равно совпадение было бы одно):
PHP код:
[0] => Array
        (
            [
0] => <div class="a1">  
    <
div class="b1">  
        <
div class="c1">  
            
sometext1  
        
</div>  
        <
div class="c2">  
            
sometext2  
        
</div>  
    </
div>  
</
div>  
<
div class="a1">  
    <
div class="b1">  
        <
div class="c1">  
            
sometext3  
        
</div>  
        <
div class="c2">  
            
sometext4  
        
</div>  
    </
div>  
</
div>
        ) 
Теперь совпадения подмасок. Тоже одно:
PHP код:
    [1] => Array
        (
            [
0] =>   
    <
div class="b1">  
        <
div class="c1">  
            
sometext1  
        
</div>  
        <
div class="c2">  
            
sometext2  
        
</div>  
    </
div>  
</
div>  
<
div class="a1">  
    <
div class="b1">  
        <
div class="c1">  
            
sometext3  
        
</div>  
        <
div class="c2">  
            
sometext4  
        
</div>  
    </
div>  

        ) 
Собственно, аналогичное для второго варианта:
Совпадения регулярки:
PHP код:
[0] => Array
        (
            [
0] => <div class="a1">  
    <
div class="b1">  
        <
div class="c1">  
            
sometext1  
        
</div>  
        <
div class="c2">  
            
sometext2  
        
</div>  
    </
div>  
</
div>
            [
1] => <div class="a1">  
    <
div class="b1">  
        <
div class="c1">  
            
sometext3  
        
</div>  
        <
div class="c2">  
            
sometext4  
        
</div>  
    </
div>  
</
div>
        ) 
Совпадания подмасок:
PHP код:
    [1] => Array
        (
            [
0] =>   
    <
div class="b1">  
        <
div class="c1">  
            
sometext1  
        
</div>  
        <
div class="c2">  
            
sometext2  
        
</div>  
    </
div>  

            [
1] =>   
    <
div class="b1">  
        <
div class="c1">  
            
sometext3  
        
</div>  
        <
div class="c2">  
            
sometext4  
        
</div>  
    </
div
 
Ответить с цитированием

  #108  
Старый 17.12.2008, 20:17
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


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

Я извиняюсь, а вы последнюю версию моего скрипта запускаете или где? По всей видимости вы юзаете мою ПЕРВУЮ регулярку, заточенную под сайты, а не под бредовые требования Giffts-а. Господа, будьте внимательней, в последнем варианте моего скрипта совсем другая регулярка.

ЗЫЖ Продам очки, недорого

Вот моя последняя и вполне рабочая версия, можете найти её несколько выше, еще до Вашего первого поста по этой задаче:

PHP код:
<?
$in

'<div class="a1"> 
    <div class="b1"> 
        <div class="c1"> 
            sometext1 
        </div> 
        <div class="c2"> 
            sometext2 
        </div> 
    </div> 
</div> 
<div class="a1"> 
    <div class="b1"> 
        <div class="c1"> 
            sometext3 
        </div> 
        <div class="c2"> 
            sometext4 
        </div> 
    </div> 
</div>'
;


if (
preg_match_all('/<div class="a1">(.*)<\/div>/s'$in$result)) 
echo 
'Оле!'"\r\n"; else echo 'Нету такого';
$t explode("\r\n"$result[0][0]);
$count count($t);
for (
$i=0;$i<$count;$i++) 
{
if (!empty(
$t[$i])) {echo $t[$i];}
}
?>

Последний раз редактировалось Pashkela; 17.12.2008 в 20:20..
 
Ответить с цитированием

  #109  
Старый 17.12.2008, 20:19
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Цитата:
Сообщение от Pashkela  
Я извиняюсь, а вы последнюю версию моего скрипта запускаете или где? По всей видимости вы юзаете мою ПЕРВУЮ регулярку, заточенную под сайты, а не под бредовые требования Giffts-а. Господа, будьте внимательней, в последнем варианте моего скрипта совсем другая регулярка.

ЗЫЖ Продам очки, недорого
Из сообщения 102.
 
Ответить с цитированием

  #110  
Старый 17.12.2008, 20:28
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Цитата:
Сообщение от Pashkela  
Вот моя последняя и вполне рабочая версия
Выводит вот это:
PHP код:
Оле!
<
div class="a1">  
    <
div class="b1">  
        <
div class="c1">  
            
sometext1  
        
</div>  
        <
div class="c2">  
            
sometext2  
        
</div>  
    </
div>  
</
div>  
<
div class="a1">  
    <
div class="b1">  
        <
div class="c1">  
            
sometext3  
        
</div>  
        <
div class="c2">  
            
sometext4  
        
</div>  
    </
div>  
</
div
Цитата:
может выложим готовый код
Разумеется
PHP код:
<?php

$in 
=
'<div class="a1">  
    <div class="b1">  
        <div class="c1">  
            sometext1  
        </div>  
        <div class="c2">  
            sometext2  
        </div>  
    </div>  
</div>  
<div class="a1">  
    <div class="b1">  
        <div class="c1">  
            sometext3  
        </div>  
        <div class="c2">  
            sometext4  
        </div>  
    </div>  
</div>'



preg_match_all('~<div class="\w\d">((?:[^<>]+|(?R))*)</div>~si'$in$data);
print_r($data[1]);

?>
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi]/[Pascal] Задай вопрос, получи ответ Isis С/С++, C#, Delphi, .NET, Asm 6762 17.06.2010 21:23
[ *NIX ] Задай вопрос - получи ответ. Xszz *nix 1547 15.06.2010 15:41
[Lan] Задай вопрос - получи ответ! sedoy_xxx АнтиАдмин 133 31.03.2010 08:35
Всё о беспороводном соединении на кпк и смартфонах! Задай вопрос - получи ответ! ARMENIN Беспроводные технологии/WPAN/WLAN 2 02.11.2008 00:40
ЕсТь ВоПрос Guma Чаты 4 26.10.2005 21:48



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


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




ANTICHAT.XYZ