• User Newbie

    esperti di preg_match riunitevi

    Ciao a tutti, sono incappato in un problema per me irrisolvibile mentre lavoravo a uno dei miei progetti opensource:

    vorrei uno script che con preg_replace sostituisca un url html :

    <a href = "http://www.giorgiotave.it">giorgiotave</a>
    

    in..

    <a href = "siteroot/engine.inc.php?rl=www.giorgiotave.it">giorgiotave</a>
    

    Ignorando ogni paramentro del link (_blank, ecc ecc).

    Ora.. sono riuscito ad ottenere il risultato che volevo, solo che per qualche motivo, il mio script, consideracome tags a href anche i tag tipo: <span class="font"> con risultati imprevedibili,potreste aiutarmi?

    ecco il codice:

    $url = preg_replace( '/<.*href="?(.*:\/\/)?([^ \/]*)([^ >"]*)"?[^>]*>(.*)(<\/a>)/', '<a href="../engine.inc.php?url=$2$3">$4</a>', $url );
    

  • Super User

    Beh se non sbaglio lo script che hai scritto riconosco qualsiasi tag che abbia all'interno href.... Perché invece non cerchi solo i tag <a ???