Έλεγχος αν υπάρχει συγκεκριμένη λέξη σε μια ιστοσελίδα

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
redalert19882000
Δημοσιεύσεις: 31
Εγγραφή: 15 Ιούλ 2007 21:39

Έλεγχος αν υπάρχει συγκεκριμένη λέξη σε μια ιστοσελίδα

Δημοσίευση από redalert19882000 » 28 Δεκ 2008 12:27

Γεια σας και πάλι παιδιά,

λοιπόν όπως ξέρουμε έχουμε την λειτουργία strpos η οποία ελέγχει αν υπάρχει ένα συγκεκριμένο string σε ένα άλλο. Η απορία μου είναι πως θα το κάνω να δουλέξει για διάφορες ιστοσελίδες.

Για παράδειγμα θέλω να ανοίγει την σελίδα freestuff.gr , να παίρνει τον source code και να ελέγχει αν υπάρχει μια λέξη που θα του βάλω εγώ.

Το θέμα είναι με ποιον τρόπο μπορώ να το κάνω. Με sockets το κάνω και δεν δουλεύει...

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Έλεγχος αν υπάρχει συγκεκριμένη λέξη σε μια ιστοσελίδα

Δημοσίευση από fafos » 28 Δεκ 2008 15:44

Tha prepei na metatrepseis thn selida se aplo text file kai meta me thn preg_match na elenkseis an yparxei h leksh pou zhtas:

Κώδικας: Επιλογή όλων

<?php
$leksh = 'php';//h leksh pou psaxneis

$theLocation="http&#58;//www.freestuff.gr";  //h selida pou thes na kaneis elenxo 

//apo pou arxizei kai pou teleionei o elenxos
$startingpoint = '<html'; 
$endingpoint = '</html>'; 



set_time_limit&#40;600&#41;; 

//metaroph se aplo text
preg_match&#40;"/^&#40;https?&#58;\/\/&#41;?&#40;&#91;^\/&#93;*&#41;&#40;.*&#41;/i", "$theLocation", $matches&#41;;
$theDomain = "http&#58;//" . $matches&#91;2&#93;;
$page = $matches&#91;3&#93;;

$fd = fopen&#40;$theDomain.$page, "r"&#41;;  // "rb" may work better on NT servers
$value = "";
while&#40;!feof&#40;$fd&#41;&#41;&#123;
	$value .= fread&#40;$fd, 4096&#41;;	
&#125;
fclose&#40;$fd&#41;;
$start= strpos&#40;$value, "$startingpoint"&#41;;  
$finish= strpos&#40;$value, "$endingpoint"&#41;;  
$length= $finish-$start;
$value=substr&#40;$value, $start, $length&#41;;


//elenxos an h leksh yparxei
if &#40;preg_match&#40;"/$leksh/", $value&#41;&#41; &#123;
    echo "<font color='#009900'>H leksh <b>$leksh</b>  yparxei.</font>";
&#125; else &#123;
    echo "<font color='#cc0000'>H leksh <b>$leksh</b>  DEN yparxei.</font>";
&#125;


?>

ypopsin oti elenxei kai ta elements ths HTML.. an thes na mhn ta emfanizei auta tha prepei na xrhsimopoihseis thn eregi_replace h thn str_replace gia na afereseis auta ta elements..p.x.:

$value = eregi_replace( "<script[^>]*>", "", $value ); //afairei ta scripts

An thes na psaxnei thn leksh asxeta an einai peza h kefalaia kane thn preg_match etsi (den ksero pos antidra se Ellhnika):

(preg_match("/$leksh/i", $value)

redalert19882000
Δημοσιεύσεις: 31
Εγγραφή: 15 Ιούλ 2007 21:39

Έλεγχος αν υπάρχει συγκεκριμένη λέξη σε μια ιστοσελίδα

Δημοσίευση από redalert19882000 » 28 Δεκ 2008 18:35

ΈΓΡΑΨΕΣ ΠΑΛΙ ΤΕΡΜΑ. Είσαι τρομερός. Ευχαριστώ για την βοήθεια σου. δουλεύει άψογα!

redalert19882000
Δημοσιεύσεις: 31
Εγγραφή: 15 Ιούλ 2007 21:39

Έλεγχος αν υπάρχει συγκεκριμένη λέξη σε μια ιστοσελίδα

Δημοσίευση από redalert19882000 » 04 Φεβ 2009 15:42

Επανέρχομαι σε αυτό το θέμα μιας και έχω μια απορία...

στη μεταβλητή $theLocation έχουμε την ιστοσελίδα την οποία θέλουμε να ελέγξουμε. Δοκίμασα όμως να βάλο URL της μορφής πχ http://www.thesite.com/index.php?id=1

και δε μου δουλέυει. Αν το βάλω σε στυλ http://www.thesite.com/index μου δουλέυει. Προφανώς αυτό που κάνω είναι λάθος. Γιατί; Πως μπορώ νσ το κάνω να παίξει;

Ευχαριστώ
123

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Έλεγχος αν υπάρχει συγκεκριμένη λέξη σε μια ιστοσελίδα

Δημοσίευση από fafos » 04 Φεβ 2009 15:59

redalert19882000 έγραψε:Επανέρχομαι σε αυτό το θέμα μιας και έχω μια απορία...

στη μεταβλητή $theLocation έχουμε την ιστοσελίδα την οποία θέλουμε να ελέγξουμε. Δοκίμασα όμως να βάλο URL της μορφής πχ http://www.thesite.com/index.php?id=1

και δε μου δουλέυει. Αν το βάλω σε στυλ http://www.thesite.com/index μου δουλέυει. Προφανώς αυτό που κάνω είναι λάθος. Γιατί; Πως μπορώ νσ το κάνω να παίξει;

Ευχαριστώ
kati provlhma exei h selida pou dokimazeis... mhpos kanei redirect h einai se frames? dokimase auto to topic pou grafoume tora gia na deis oti douleuei: http://www.freestuff.gr/forums/viewtopic.php?p=391151
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Έλεγχος αν υπάρχει συγκεκριμένη λέξη σε μια ιστοσελίδα

Δημοσίευση από soteres2002 » 04 Φεβ 2009 21:19

Πάρτε το source με curl, ώστε να ακολουθει και τα redirects που μπορεί να στέλνει ο σερβερ ή τα σκριπτ.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες