Ciao a tutti,
in che modo potrei controllare se uno o più valori di un array sono contenuti in una determinata stringa????
Ciao a tutti,
in che modo potrei controllare se uno o più valori di un array sono contenuti in una determinata stringa????
Cicla l'array e verifica se il valore attuale c'è nella stringa.
www.sitemeer.com » Quando un sito pare irraggiungibile
Se ti piace ci puoi trovare anche su Facebook
Perfetto ... ecco lo script ...Originariamente inviato da neroux
Cicla l'array e verifica se il valore attuale c'è nella stringa.
Non ho messo tutto il codice ... cmq in sostanza lo script dovrebbe aprire una pagina web remota, estrarre tutti i collegamenti in essa contenuti e stamparli controllando che appartengano unicamente a quel dominio (quindi niente siti esterni ecc.) e che non contengano le parole chiavi contenute nell'array $filtroblacklist .Codice PHP:
$domain="miosito.com";
$filtroblacklist = array("index", "home");
$url="http://www.miosito.com/lombardia";
//$url=$_POST["url"];
$fp=fopen($url,"r");
if ($fp==null)
die ("Error reading from $url\n");
fclose($fp);
$found_1=get_links(file($url),$url);
print "<h2>Links found inside $url:</h2>\n";
//print "<ul>\n";
//$conta = ;
// Controllo su ARRAY
for ($i=0; $i<count($found_1); $i++){
if(stristr($found_1[$i], $domain)) {
for($x=0;$x<count($filtroblacklist);$x++){
if(!stristr($found_1[$i], $filtroblacklist[$x])){
print "<a href=\"$found_1[$i]\">$found_1[$i]</a></br>\n";
}
}
}
}
Il problema è che non ho calcolato che qualora ho più valori key nella black list il mio codice stamperà l'URL x volte quante sono le key. Quale sarebbe il modo più semplice per stampare solo una volta il link della pagina?
Sono sicuro che sia una cosa banale per chi mastica PHP ma avendolo abbandonato da anni sono arrugginito e non riesco a trovare un soluzione![]()
Credo di aver risolto parzialmente l mio problema inserendo nellIF del secondo ciclo il semplice comando break;Originariamente inviato da jr1980
Perfetto ... ecco lo script ...
Non ho messo tutto il codice ... cmq in sostanza lo script dovrebbe aprire una pagina web remota, estrarre tutti i collegamenti in essa contenuti e stamparli controllando che appartengano unicamente a quel dominio (quindi niente siti esterni ecc.) e che non contengano le parole chiavi contenute nell'array $filtroblacklist .Codice PHP:
$domain="miosito.com";
$filtroblacklist = array("index", "home");
$url="http://www.miosito.com/lombardia";
//$url=$_POST["url"];
$fp=fopen($url,"r");
if ($fp==null)
die ("Error reading from $url\n");
fclose($fp);
$found_1=get_links(file($url),$url);
print "<h2>Links found inside $url:</h2>\n";
//print "<ul>\n";
//$conta = ;
// Controllo su ARRAY
for ($i=0; $i<count($found_1); $i++){
if(stristr($found_1[$i], $domain)) {
for($x=0;$x<count($filtroblacklist);$x++){
if(!stristr($found_1[$i], $filtroblacklist[$x])){
print "<a href=\"$found_1[$i]\">$found_1[$i]</a></br>\n";
}
}
}
}
Il problema è che non ho calcolato che qualora ho più valori key nella black list il mio codice stamperà l'URL x volte quante sono le key. Quale sarebbe il modo più semplice per stampare solo una volta il link della pagina?
Sono sicuro che sia una cosa banale per chi mastica PHP ma avendolo abbandonato da anni sono arrugginito e non riesco a trovare un soluzione![]()
Tuttavia rimane l'altra possibilità ... ovvero come faccio a controllare se in un array ci sono due valori identici????
Potrebbe sempre capitare che in una pagina vi sia lo stesso URL in due posti diversi e quindi verrebbe stampato due volte ....