• User

    escludere testo con preg_match

    Salve a tutti,
    ho un problema con una funzione di sostituzione.
    In pratica mi ritrovo del testo html e devo sostituire determinate parole (es. ciao, php) dal mio testo. Voglio escludere però dal mio testo tutte quelle parole che hanno un link (es. <a href="link.html">ciao</a>)
    Come posso fare. Io sto utilizzando preg_match ma non ho capito bene come escluredere solo gli href e il suo contenuto.
    Rispondetemi prima possibile che qui sto diventando matto!!! ❌x:x


  • User Newbie

    Mi trovo a manipolare delle stringhe e girando nel web ho trovato interessanti funzioni sull'utilizzo di preg_match. Ti riporto un pò di codice commentato, tu prendi quello che più si avvicina con quello che ti serve.

    Ricerca del testo "php".
    La lettera "i" dopo i delimitatori indica una ricerca case-insensitive
    al posto del secondo parametro puoi mettere una variabile stringa

    if (preg_match("/php/i", "PHP è il linguaggio scelto.")) {
        echo "Il confronto è positivo.";
    } else {
        echo "Testo non riconosciuto.";
    }
    //Convalida email con preg_match
    $email = "inserire qui indirizzo email";
    if (!is_valid_email($email)) {
      echo "Sorry, invalid email: $email";
    } else {
      echo "Valida email: $email";
    }
    
    function is_valid_email($email) {
      return preg_match('#^[a-z0-9.!\#$%&\'*+-/=?^_`{|}~]+@([0-9.]+|([^\s]+\.+[a-z]{2,6}))$#si', $email);
    }
    
    
    // controllo di un indirizzo web
    if(!preg_match("/^[a-zA-Z]+[:\/\/]+[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i",$stringaurl)) {
     echo"Devi inserire un valido URL";
     exit();
    }
    

    Ora puoi utilizzare queste espressioni in una tua funzione, ci vogliono conoscenze di linguaggio php e di come lavora la funzione preg_match(pattern, stringa); e il gioco è fatto

    :wink3: Danzisi