By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
428,706 Members | 1,105 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 428,706 IT Pros & Developers. It's quick & easy.

Need help Making Script Work

P: 59
Hi
I found this script on a forum and have been trying to make it work, but all it returns is a blank screen, i tried using the debug error reporting but got nothing from that either just a blank page, here is the code[PHP]<?php
//In this case, it fetches a search for "fresh content" from www.alltheweb.com, whom we hope you will visit.
$theLocation="http://www.alltheweb.com/search?cat=web&q=fresh+content&phrase=on&h=50";
//Below, at $start and $finish, you'll enter the start and finish points in the remote HTML.

$startingpoint = "<td valign=top>&nbsp;1.&nbsp;&nbsp;</td>"; // replace inside the quotes with with your unique start point in the source of the HTML page. It HAS to be unique.
$endingpoint = "<span class=rh>Results:</span></b>&nbsp;&nbsp;"; // replace with the unique finish point in the source of the HTML page
//Don't forget to escape any " marks with a \ mark.
// Example: If the starting HTML is: <img src="images/something.jpg">
// You would tell Mini-Fetch: $startingpoint = "<img src=\"images/something.jpg\">";

//That's probably all you need to edit, unless you want to match and replace certain text or HTML.

// - "Don't touch this part..."
preg_match("/^(https?:\/\/)?([^\/]*)(.*)/i", "$theLocation", $matches);
$theDomain = "http://" . $matches[2];
$page = $matches[3];

$fd = fopen($theDomain.$page, "r"); // can change to "rb", on NT/2000 servers, if problems.
$value = "";
while(!feof($fd)){
$value .= fread($fd, 4096);
}
fclose($fd);
$start= strpos($value, "$startingpoint");
$finish= strpos($value, "$endingpoint");
$length= $finish-$start;
$value=substr($value, $start, $length);
// end "don't touch this part"


// eregi_replace, below, is a case-insensitive function to find, match, and replace variations of text that you define.
//The following commands strip or replace HTML tags.
//To NOT strip a certain HTML tag, add // before the line in question.
// the "", before the $value at the end of the line means replace the tag with blank space, which effectively deletes the tag.

// $value = eregi_replace( "<img src=[^>]*>", "", $value ); // Remove all image tags. This is disabled until you remove the // in front of this line.
$value = eregi_replace( "<IMG alt=[^>]*>", "", $value ); // Remove all image alt="whatever" tags
$value = eregi_replace( "<class[^>]*>", "", $value ); // Remove all variations of <class> tags.
$value = eregi_replace( "<table[^>]*>", "", $value ); // Remove ALL variations of <table> tags.
$value = eregi_replace( "<tr[^>]*>", "", $value ); // Replace <tr> tags with blank space.
$value = eregi_replace( "<td[^>]*>", "", $value ); // Remove all variations of <td> tags.

// Below - what's the difference, you ask, between eregi_replace and str_replace?
// str_replace is faster, by a long shot... The catch is that in can only be used
// to replace EXACT value matches, as you see below, and doesn't work well in huge files without using arrays.
$value = str_replace( "</font>", "", $value ); // Remove closing </font> tags.
$value = str_replace( "</table>", "", $value ); // Remove closing </table> tags.
$value = str_replace( "</tr>", "", $value ); // Remove closing </tr> tags.
$value = str_replace( "</td>", "", $value ); // Remove closing </td> tags.
$value = str_replace( "<center>", "", $value ); // Remove <center> tag...
$value = str_replace( "</center>", "", $value ); // ...alignment calls.
$value = str_replace( "<b>", "", $value ); // Remove <b> tags.
$value = str_replace( "</b>", "", $value ); // Remove closing </b> tags...

// More tags. Just take out the // in front and edit as you like.
//$value = eregi_replace( "Competitors name", "", $value ); // Remove certain text...
//$value = eregi_replace( "<javascript[^>]*>", "", $value ); //remove javascripts
//$value = eregi_replace( "<script[^>]*>", "", $value ); //remove scripts

// replace normal links with HTML to open fetched links in new window
$value = eregi_replace( "href=", "target=\"_blank\" href=", $value );

// open links that use " in new window
$value = eregi_replace( "href=\"", "target=\"_blank\" href=\"", $value );

$FinalOutput = preg_replace("/(href=\"?)(\/[^\"\/]+)/", "\\1" . $theDomain . "\\2", $value);
echo $FinalOutput; //prints it to your page
flush (); //force output to your page faster

?>[/PHP]
Feb 13 '08 #1
Share this Question
Share on Google+
7 Replies


nomad
Expert 100+
P: 664
tell me what are you trying to do here?

nomad
Feb 13 '08 #2

P: 59
Hi
I'm trying to use this to get information from a certain site, although it is set to alltheweb at the moment, i would like to use it to grab the price of kelkoo.co.uk

Thanks
Feb 14 '08 #3

nomad
Expert 100+
P: 664
Hi
I'm trying to use this to get information from a certain site, although it is set to alltheweb at the moment, i would like to use it to grab the price of kelkoo.co.uk

Thanks
This is your problem here:
[PHP]$value =substr($value, $start, $length);[/PHP]

Your String $value is not right Take a look at your while statement. Notice the string $value . in that statement.

nomad
Feb 14 '08 #4

P: 59
Hi thanks for your help but what is wrong with the $value variable? i am new to php and am unure, secondly how do i fix this problem?

Thanks
Olie
Feb 14 '08 #5

nomad
Expert 100+
P: 664
Hi thanks for your help but what is wrong with the $value variable? i am new to php and am unure, secondly how do i fix this problem?

Thanks
Olie
ok you need to
$value . =

try that and it should work.
Feb 14 '08 #6

P: 59
Hi
Thanks for your help but it is still not working, i also tried changing the site that it was getting the info from i am now running
Expand|Select|Wrap|Line Numbers
  1. <?php
  2.  
  3.  
  4. //In this case, it fetches a search for "fresh content" from www.alltheweb.com, whom we hope you will visit.
  5. $theLocation="http://en.wikipedia.org/wiki/Nokia";
  6. //Below, at $start and $finish, you'll enter the start and finish points in the remote HTML.
  7.  
  8. $startingpoint = "<link rel="search" type="application/opensearchdescription+xml" href="/w/opensearch_desc.php" title="Wikipedia (English)" />"; // replace inside the quotes with with your unique start point in the source of the HTML page. It HAS to be unique.
  9. $endingpoint = "<li class="interwiki-hu">"; // replace with the unique finish point in the source of the HTML page 
  10. //Don't forget to escape any " marks with a \ mark.
  11. // Example: If the starting HTML is:  <img src="images/something.jpg">
  12. // You would tell Mini-Fetch: $startingpoint = "<img src=\"images/something.jpg\">";
  13.  
  14. //That's probably all you need to edit, unless you want to match and replace certain text or HTML.
  15.  
  16. // - "Don't touch this part..."
  17. preg_match("/^(https?:\/\/)?([^\/]*)(.*)/i", "$theLocation", $matches);
  18. $theDomain = "http://" . $matches[2];
  19. $page = $matches[3];
  20.  
  21. $fd = fopen($theDomain.$page, "r"); // can change to "rb",  on NT/2000 servers, if problems.
  22. $value = "";
  23. while(!feof($fd)){
  24.     $value .= fread($fd, 4096);    
  25. }
  26. fclose($fd);
  27. $start= strpos($value, "$startingpoint");  
  28. $finish= strpos($value, "$endingpoint");  
  29. $length= $finish-$start;
  30. $value.=substr($value, $start, $length);
  31. // end "don't touch this part"
  32.  
  33.  
  34. // eregi_replace, below, is a case-insensitive function to find, match, and replace variations of text that you define.
  35. //The following commands strip or replace HTML tags. 
  36. //To NOT strip a certain HTML tag, add // before the line in question.
  37. // the "", before the $value at the end of the line means replace the tag with blank space, which effectively deletes the tag.
  38.  
  39. // $value = eregi_replace( "<img src=[^>]*>", "", $value );   // Remove all image tags. This is disabled until you remove the // in front of this line.
  40. $value = eregi_replace( "<IMG alt=[^>]*>", "", $value );   // Remove all image alt="whatever" tags
  41. $value = eregi_replace( "<class[^>]*>", "", $value ); // Remove all variations of <class> tags.
  42. $value = eregi_replace( "<table[^>]*>", "", $value ); // Remove ALL variations of <table> tags.
  43. $value = eregi_replace( "<tr[^>]*>", "", $value ); // Replace <tr> tags with  blank space.
  44. $value = eregi_replace( "<td[^>]*>", "", $value ); // Remove all variations of <td> tags.
  45.  
  46. // Below - what's the difference, you ask, between eregi_replace and str_replace?
  47. // str_replace is faster, by a long shot... The catch is that in can only be used
  48. // to replace EXACT value matches, as you see below, and doesn't work well in huge files without using arrays.
  49. $value = str_replace( "</font>", "", $value ); // Remove closing </font> tags.
  50. $value = str_replace( "</table>", "", $value ); // Remove closing </table> tags.
  51. $value = str_replace( "</tr>", "", $value );  // Remove closing </tr> tags.
  52. $value = str_replace( "</td>", "", $value ); // Remove closing </td> tags.
  53. $value = str_replace( "<center>", "", $value ); // Remove <center> tag...
  54. $value = str_replace( "</center>", "", $value ); // ...alignment calls.
  55. $value = str_replace( "<b>", "", $value ); // Remove <b> tags.
  56. $value = str_replace( "</b>", "", $value ); // Remove closing </b> tags...
  57.  
  58. // More tags. Just take out the // in front and edit as you like.
  59. //$value = eregi_replace( "Competitors name", "", $value ); // Remove certain text...
  60. //$value = eregi_replace( "<javascript[^>]*>", "", $value ); //remove javascripts
  61. //$value = eregi_replace( "<script[^>]*>", "", $value ); //remove scripts
  62.  
  63. // replace normal links with HTML to open fetched links in new window
  64. $value = eregi_replace( "href=", "target=\"_blank\" href=", $value ); 
  65.  
  66. // open links that use " in new window 
  67. $value = eregi_replace( "href=\"", "target=\"_blank\" href=\"", $value ); 
  68.  
  69. $FinalOutput = preg_replace("/(href=\"?)(\/[^\"\/]+)/", "\\1" . $theDomain . "\\2", $value);
  70. echo $FinalOutput; //prints it to your page
  71. ?>
Feb 14 '08 #7

P: 59
Please can someone help me.

Thanks
Feb 16 '08 #8

Post your reply

Sign in to post your reply or Sign up for a free account.