Visualizzazione dei risultati da 1 a 7 su 7

Discussione: espressioni regolare

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    240

    espressioni regolare

    ho il seguente tag HTML
    <a href="percorso/percorso/newLink?val=0">
    dove percorso non solo è variabile ma ci puo o non essere
    devo trasformarlo in
    <a href="geNewLink(0)">
    volevo usare le espressioni regolari ma non ci riesco


    Ho provato
    Codice PHP:
    $myStringa "testo testo <a href="percorso/percorso/newLink?val=0">testo testo";
    $myStringa preg_replace("/<a href=\"(.*)newLink\?val=([0-9])/si","<a href=\"geNewLink(\$2);"$myStringa ); 

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    74
    Immagino intenda una cosa del genere:

    Codice PHP:
    <?
    $href        
    "<a href=\"percorso/percorso/newLink?val=1ssadajdslsda\">";
    $pattern     "/^(.*)?val=([0-9]+)?(.*)\"(.*)$/";
    $replacement '<a href="geNewLink($2)">';
    echo   
    htmlentities(preg_replace($pattern$replacement $href));
    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    240

    Non proprio

    non proprio mi servirebbe + una cosa del genere


    Codice PHP:
    $testo"bla bla bla e altri tag HTML  <a href=\"percorso/percorso/newLink?val=1ssadajdslsda\">bla bla bla e altri tag HTML ";
     
    preg_replace("/^<A href=\"(.*)newLink?val=([0-9]+)?\"(.*)$/","<a href=\"geNewLink(\$2);"$testo); 
    Devo sostituire il testo newLink?val=NUMERO

    con

    getLink(NUMERO)

    eliminando l'eventuale percorso assoluto precedente a newLink

    MA NON FUNZIONA

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    240
    nessun aiuto????

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    74
    Prova così:


    <?
    $href = "bla bla bla e altri tag HTML <a href=\"percorso/percorso/newLink?val=1ssadajdslsda\">bla bla bla e altri tag HTML ";
    $pattern = "/^(.*)newLink\?val=([0-9]+)?(.*)/";
    $replacement = '$1geNewLink($2)$3';
    echo htmlentities(preg_replace($pattern, $replacement , $href));
    ?>

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    240

    ancora no

    Sembrerebbe di aver risolto con
    "/(.*)<a href=(.*)newLink\?val=([0-9]+)[^>]*>(.*)/si"

    Ma mi sostituisce solo l'ultima occorrenza !!

    Come mai???

    preg_replace non dovrebbe sostituirle TUTTE !?!?!


    Ecco la prova che sto facendo!
    Codice PHP:

    $testo 
    "

    CIAOOOO</p><H1><A href=\"per/per/newLink?val=1000\"> newLink</A></H1>

    </P>\n<H1><A href=\"per/per/newMail?val=1000\">URP - newMail</A></H1>

    </P>\n<H1><A href=\"per/per/newFile?val=1000\" bla vla> newFile</A></H1>

    </P>\n<A href=\"newFile.php\">newFile</A></H1>

    </P>\n<A href=\"per/per/newLink?val=1000\"> newLink</A>\n<Span>bla bòa </span>"
    ;

    $testo preg_replace("/(.*)<a href=(.*)newLink\?val=([0-9]+)[^>]*>(.*)/si","\$1<A href=geNewLink(\$3)>\$4"$testo,-1);

    echo 
    $testo 

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    240

    RISOLTO

    NON DOVEVO METTERE /si ALLA FINE MA SOLO /i


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.