Он все поновой проверьяет я не согласен с Вурдалак (хотья может я не прав). Так как я делал цикл, и в нем прописал count(от чегото, не помнью), и тот счетчик count() все время вызывался. Я проверьял вроде 10тыс. строк и он делал за 30сек. А потом сменил просто на цифру, и цикл выполнился за 10секунд. 20 сек разница. Ну и тоже самое будет с preg_match() думаю. А может я и не прав ))Вурдалак
если в цикле вызывать?
<?php
function getDomenZone($urls)
{
$result = array();
foreach ($urls as $url) {
$temp = rtrim($url, '.');
$result[substr($temp, strrpos($temp, '.'))][] = $url;
}
return $result;
}
function getPregDomenZone($urls)
{
$result = array();
foreach ($urls as $url) {
preg_match('/[^\s]+\.([^\s]+)/', $url, $mass);
$result[$mass[1]][] = $url;
}
return $result;
}
$times = array();
for($t = 0; $t<10; $t++)
{
$test = array();
$masks = array('http://%s.%s.%s.', 'http://%s.%s2.%s', 'https://%s1%s.%s', 'http://%s.%s0.0%s.', '%s%s.%s');
for($i = 0; $i < 100000; $i++)
{
$first = md5(mt_rand());
$second = md5(mt_rand());
$third = md5($first.$second.mt_rand());
$test[] = sprintf($masks[$i%5], substr($first, 0, 3),substr($third, 4, 7),substr($second, 8, 11));
}
$start = microtime(true);
$res = getDomenZone($test);
$strTime = microtime(true) - $start;
$res = null;
$start = microtime(true);
$res = getPregDomenZone($test);
$pregTime = microtime(true) - $start;
$res = null;
$times[] = array($strTime, $pregTime);
}
foreach ($times as $value) {
echo $value[0].' : '.$value[1].PHP_EOL;
}
C rtrim:$ php domen.php
0.28029203414917 : 0.36464786529541
0.29849004745483 : 0.38660502433777
0.29807209968567 : 0.37032890319824
0.28998517990112 : 0.36059713363647
0.28861284255981 : 0.35878992080688
0.28823113441467 : 0.3554859161377
0.35297012329102 : 0.35316610336304
0.30493998527527 : 0.34884285926819
0.29170799255371 : 0.3605809211731
0.29286098480225 : 0.34982395172119
$ php domen.php
0.39972901344299 : 0.46487092971802
0.42342805862427 : 0.41946983337402
0.44344592094421 : 0.38821387290955
0.44316816329956 : 0.3583300113678
0.51142501831055 : 0.35657978057861
0.42245697975159 : 0.35502004623413
0.41557502746582 : 0.42355799674988
0.41707015037537 : 0.35396409034729
0.42301201820374 : 0.35459518432617
0.41679310798645 : 0.35339403152466
Выберите ее от туда, и подставьте сразу напрямую в циклах. Думаю там она бошку снесет всем )))function getPregDomenZone($urls)
{
$result = array();
foreach ($urls as $url) {
preg_match('/[^\s]+\.([^\s]+)/', $url, $mass);
$result[$mass[1]][] = $url;
}
return $result;
}
<a href="http://ellada-ubk.com/">Эллада</a>
- Отель, частные апартаменты в пос. Семидворье (ЮБК). Условия проживания и питания. Фото, видео.
</li>
Представим что здесь идут теги(я начало не писал так как там много чего нужно дописать нехочу захламлять форум)
</ul>
</fieldset>
<span><img src='http://o.aolcdn.com/os/dmoz/img/dividerN.gif' style="height:2px;float:left;width:100%" /></span>
<fieldset class="fieldcap fieldcapRn" style="font-size:1.2em; margin-top:11px;">
<ul class="disc-large">
<div class="float-l">
<!--<br>-->
<li >
<span style="margin-right:140px; font-size:16px;">
Поиск "<b>Проживание</b>" в:
<a href="http://www.nigma.ru/?s=проживание&t=web&rg=t%3D_c%3DРоссия_&rg_view=&yn=1&gl=1&rm=1&ms=1&yh=1&av=1&ap=1&nm=1&lang=all&srt=0&sf=1">Нигма</a> -
<a href="http://yandex.ru/yandsearch?stype=www&nl=0&text=проживание">Яндекс</a> -
<a href="http://search.aol.com/aolcom/search?query=проживание">AOL</a> -
<a href="http://www.bing.com/search?q=language:ru+проживание">Bing</a> -
<a href="http://www.google.ru/search?hl=ru&lr=lang_ru&q=проживание">Google</a> -
<a href="http://ru.search.yahoo.com/search?fl=2&ei=UTF-8&p=проживание">Yahoo</a>
</li>
</div>
<div class="float-r" style="float:right; margin-top:2px;">
</div>
</ul>
</fieldset>
</li>
Представим что здесь идут теги(я начало не писал так как там много чего нужно дописать нехочу захламлять форум)
</ul>
</fieldset>
<div class="float-r" style="float:right; margin-top:2px;">
</div>
</ul>
</fieldset>
А что лучше для парсинга html подходит? Напишите пжлст )))регулярки не для парсинга html.
Вы походу не список имеете, а его откуда-то достаете, так что скоро темку прикроют![]()
Браузер.А что лучше для парсинга html подходит? Напишите пжлст )))
Похоже то что нужно, обязательно прочитаю. Спасибо!
угу) сам недавно на этот пост набрел, читая лурк))
А тебе то че?! Неможешь ответить и не суй свой нос где не надо. Пусть отчечают те, которые могут.угу) сам недавно на этот пост набрел, читая лурк))
А почему тему до сих пор не закрыли?)) человек явно хочет чужой контент парсить.