Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

17.12.2008, 18:44
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Постараюсь все-таки объяснить, что Вы биплан (самолет такой убогий)
Начнем - в быдлокоде, что Вы предложили последним. С помощью жадной регулярки получаете массив. Элемент $result[0][0] содержащий ВСЮ переменную $in. (Если у вас вдруг установлен PHP можете это проверить) Дальше вы разбиваете этот массив и выводите все не пустые строки. Но ояебу, можно было бы написать echo $in; результат был бы тот же.
Заметьте, я объяснил в чем вы не правы, и насколько вы не правы. При этом я не свел все это рассуждение, как вы - "моя твоя труба качал".
Прежде чем что-то, кому-то советовать, проверяйте все таки это у себя.
|
|
|

17.12.2008, 19:11
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
"Прежде чем что-то, кому-то советовать, проверяйте все таки это у себя."
ыыыы, во-во, вот и проверь-те:
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);
?>
ЗЫЖ Чем дальше в лес, тем глубже человек загоняет себя в задницу
Пуся, я всегда и абсолютно всё проверяю, прежде чем сюда выкладывать 
|
|
|

17.12.2008, 19:21
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
2Gifts
PHP код:
'~<div class="\w\d">((?:[^<>]+|(?R))*)</div>~si'
|
|
|

17.12.2008, 19:26
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Сообщение от 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..
|
|
|

17.12.2008, 19:59
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Сообщение от Pashkela
))) И? Вы чо тут, сговорились что ли?  )) В итоге все равно раздельных значений нет  )))))) Все равно explode применять  )) И если сделать:
PHP код:
$t = explode("\r\n", $result[0][0]);
print_r ($t);
То там те же пустые строки присутствуют, да еще только первых двух значений
А моя регулярка в разы проще, и, что самое главное, корректней
Показываешь своё незнание?
|
|
|

17.12.2008, 20:01
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Сообщение от astrologer
Показываешь своё незнание?
а по делу? Гы-гы просто
ЗЫЖ Продолжаем разговор. Сами запустите свой скрипт хоть разок и посмотрите, чо там, где да как
ЗЗЫЫЖЖ Я в шоке сегодня с некоторых доселе уважаемых мною личностей
PS: И еще, чтобы безосновательно не тыкать в меня пальцем и не кричать "ОН ЛАМО!" (я не знаю, может у тебя любовь там с Gifts или еще что) может выложим готовый код по решению задачи Gifts-а именно в том ручье, в котором он думает, оно ему надо? Не просто регулярку какую-то взятую с неба и абсолютно бестолковую на мой взгляд, а код, от А до Я, как у меня? Тогда и сравним, чей код быстрей, правильней и оптимальней  Пока я тут наблюдаю только один рабочий код - а именно свой. Со всем риспектом и etc.
Последний раз редактировалось Pashkela; 17.12.2008 в 20:12..
|
|
|

17.12.2008, 20:15
|
|
Постоянный
Регистрация: 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>
|
|
|

17.12.2008, 20:17
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Я извиняюсь, а вы последнюю версию моего скрипта запускаете или где? По всей видимости вы юзаете мою ПЕРВУЮ регулярку, заточенную под сайты, а не под бредовые требования 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..
|
|
|

17.12.2008, 20:19
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Сообщение от Pashkela
Я извиняюсь, а вы последнюю версию моего скрипта запускаете или где? По всей видимости вы юзаете мою ПЕРВУЮ регулярку, заточенную под сайты, а не под бредовые требования Giffts-а. Господа, будьте внимательней, в последнем варианте моего скрипта совсем другая регулярка.
ЗЫЖ Продам очки, недорого
Из сообщения 102.
|
|
|

17.12.2008, 20:28
|
|
Постоянный
Регистрация: 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]);
?>
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|