Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Countent grabber
Форумы портала PHP.SU » » Вопросы новичков » Countent grabber

Страниц (1): [1]
 

1. Brut - 21 Сентября, 2012 - 06:14:22 - перейти к сообщению
Всем доброго времени суток, имеется вот такой граббер:

PHP:
скопировать код в буфер обмена
  1. <?
  2. $content = file_get_contents("http://site");
  3.  
  4. $pos = strpos($content, "<div class=\"class_name\">");
  5.  
  6. $content = substr($content, $pos);
  7.  
  8. $pos = strpos($content, "</div>");
  9.  
  10. $content = substr($content, 0, $pos,);
  11.  
  12. echo $content;
  13. ?>


Проблема в том что все сграбленные ссылки имеют вид src="/forum" и href="/forum", а мне бы хотелось чтобы они имели путь к сайту источнику src="http://site/forum", href="http://site/forum".

Собственно, а как сделать чтобы все src=" и href=" заменялись на src="http://site и href="http://site соответственно либо же сразу имели такой вид? Огорчение
2. re_nat - 21 Сентября, 2012 - 08:15:33 - перейти к сообщению
Эм?
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $site="http://site";
  3. $content = file_get_contents($site);
  4. ...
  5. src="$site и href="$site
  6. ...
3. Brut - 21 Сентября, 2012 - 08:57:33 - перейти к сообщению
re_nat, замена должна производится не в самом скрипте, а в результате его работы.

Например результат выглядит так:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <br><img src="/im/avatars/personal/10286-avatar.jpg" border="0"><br><br>


А нужно чтобы выглядел так:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <br><img src="http://forum.php.su/im/avatars/personal/10286-avatar.jpg" border="0"><br><br>
4. snikers987 - 21 Сентября, 2012 - 09:16:21 - перейти к сообщению
Brut
PHP:
скопировать код в буфер обмена
  1.  
  2. $content = str_replace('src="', 'src="'.$site, $content);
  3.  
  4.  

?
5. Brut - 21 Сентября, 2012 - 13:15:42 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3. $content = file_get_contents("http://site");
  4.  
  5. $content = str_replace('src="', 'src="http://site', $content);
  6.  
  7. $pos = strpos($content, "<div class=\"class\">");
  8.  
  9. $content = substr($content, $pos);
  10.  
  11. $pos = strpos($content, "</div>");
  12.  
  13. $content = substr($content, 0, $pos);
  14.  
  15. echo $content;
  16.  
  17. ?>


Кажется заменяет две первые ссылки, но основная часть скрипта не работает.

 

Powered by ExBB FM 1.0 RC1