- Home
- Categorie
- Coding e Sistemistica
- Coding
- Problemi con strripos() per verificare la presenza di codice html in un altro sito
- 
							
							
							
							
							
Infatti hai ragione, utilizzerò i cron  per verificarlo, però la via è sempre quella, solo che invece di far stampare a video "Il link sta" o "Il link non sta", lo lascierà nel database se sta (perché infatti uso il database) o lo cancellerà se non sta. per verificarlo, però la via è sempre quella, solo che invece di far stampare a video "Il link sta" o "Il link non sta", lo lascierà nel database se sta (perché infatti uso il database) o lo cancellerà se non sta.Ma mi serve sempre la via per cercare il codice del mio scambio link, anche con formati diversi, tipo aggiunto l'attributo class al tag a, o messo prima target e poi href e viceversa, o metto qualche tag font davanti alla scritta, ecc... Come faccio? Grazie, 
  
 
- 
							
							
							
							
							se quell oscript ti da problemi prova cosi: 
 [php]
 <?php
 $sito = "hp://sito.com/" // Sito partner allo scambio link
 $code = "<a href="hp://miosito.net/">...</a>"; // Codice del mio link/bannerif(stristr(file_get_contents($sito), $code) === true) { echo "Il link sta"; } else { echo "Il link non sta"; } ?> 
 [/php]poi potresti verificare solo se trovi href="h**p://miosito.net/" 
 
- 
							
							
							
							
							
Allora mi sono letto la documentazione ufficiale di stristr() però non ho capito una cosa, dà true anche con formati diversi, tipo aggiunto l'attributo class al tag a, o messo prima target e poi href e viceversa, o messo qualche tag font davanti alla scritta, ecc...? Grazie, 
  
 
- 
							
							
							
							
							stristr cerca la parola esatta appunto ti dicevo di controllare solo href="tuosito" nella pagina 
 
- 
							
							
							
							
							
strripos Returns the numerical position of the last occurence of *needle* . Also note that string positions start at 0, and not 1. If *needle* is not found, **FALSE** is returned.Se trovi la stringa ti ritorna un numero e non mi pare che "true === a un numero qualsiasi". 
 Prova col testare "=== false" che è invece un valore di ritorno contemplato dalla funzione.
 
- 
							
							
							
							
							
@Thedarkita said: stristr cerca la parola esatta appunto ti dicevo di controllare solo href="tuosito" nella pagina E per fare come ho chiesto io nel post 5 che funzione devo usare? Grazie, 
  
 
- 
							
							
							
							
							penso devi usare qualche espressione regolare.. ma in quelle sono poco ferrato quindi attendiamo qualcuno più preparato per eventuali consigli  
 
- 
							
							
							
							
							
the-art-of-web.com/php/parse-links/ 
 mi devi una birra 
 
- 
							
							
							
							
							
Aspetta, non ho capito  ho visto questo: [html]/<a\s[^>]href=("??)(http[^" >]?)\1[^>]>(.)</a>/siU[/html] Ma non ho capito come imposto il contenuto di href e la parola "Il mio sito" Come faccio? Grazie, 
  
 
- 
							
							
							
							
							
[php] 
 $url = "example.net/somepage.html";
 $input = @file_get_contents($url) or die('Could not access file: $url');
 $regexp = "<a\s[^>]href=("??)([^" >]?)\1[^>]>(.)</a>";
 if(preg_match_all("/$regexp/siU", $input, $matches, PREG_SET_ORDER)) {
 foreach($matches as $match) {
 if($match[2]=='TUOLINK') {
 $risposta = "l'hai trovato";
 }
 }
 }[/php] ci hai provato... metti la birra in frigo!  
 
- 
							
							
							
							
							
Aspetta  non ho ancora tanto capito. non ho ancora tanto capito.[php]if($match[2]=='TUOLINK')[/php] Al posto di 'tuolink' devo mettere il link del mio sito, il nome del mio sito o il codice del link/banner? Grazie, 
  
 
- 
							
							
							
							
							
soffri di sdoppiamento della personalità? in certi post mi sembri più esperto in altri mi sembri un beginner  In $match[2] hai l'url del link trovato, in$match[3] hai il testo associato al link. 
 con preg_match_all("/$regexp/siU", $input, $matches, PREG_SET_ORDER) hai trovato tutti i link in pagina e ce l'hai in $matches, con il foreach li controlli uno per uno cercando quello che ha $match[2]=="all'url del tuo sito" e $match[3]=="al testo che hai chiesto venisse usato per il link".se rispondi "aspetta non ho ancora capito" ti declasso definitivamente al gruppo dei beginner. 
 
- 
							
							
							
							
							
Scusa il disturbo, ma tu metti $match[1], 2, 3... Ma non è $matches che dovrebbe andare, dato che $matches è un array e $match no? Mi devi scusare ma io di php conosco poche cose ma quelle che conosco le conosco bene, ma qui non coosco niente  Grazie, 
 