Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    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????

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    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

  3. #3
    Originariamente inviato da neroux
    Cicla l'array e verifica se il valore attuale c'è nella stringa.
    Perfetto ... ecco lo script ...
    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";
                }
            }
        }

    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 .

    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

  4. #4
    Originariamente inviato da jr1980
    Perfetto ... ecco lo script ...
    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";
                }
            }
        }

    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 .

    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;

    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 ....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.