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

    Espressione regolare dubbia

    Salve,
    non riesco, sarà la mattinata strana....

    Se io ho questo ipotetico url:
    codice:
    /parametro/X/a/b/c/d/N/index.htm
    dove parametro è sempre prima di X e dopo di X ci possono essere altri N valori, come posso sostituire X con un mio valore arbitrario?

    Vorrei potere ottenere quindi un qualcosa del genere:
    codice:
    $newdir="percorsoA";
    $oldpath="/parametro/X/a/b/c/d/N/index.htm";
    
    risultato > "/parametro/percorsoA/a/b/c/d/N/index.htm";
    mannaggia alle espressioni regolari che non mi entrano in testa....

  2. #2
    Per favore potreste aiutarmi?
    Sono consapevole che sarà una banalità ma sono semi-inguaiato se non risolvo.
    Grazie mille

  3. #3
    Supponendo X sia variabile (altrimenti e' banale):

    codice:
    $newpath = preg_replace('#/parametro/.*?/#', "/parametro/$newdir/", $oldpath);

  4. #4
    Ok funziona con "parametro" fisso.
    Ma se invece avessi questa parte dell'url variabile?
    Quindi se io avessi...
    /pippo/X/a/b/c/d/N/index.htm
    /pluto/X/a/b/c/d/N/index.htm
    /paperino/X/a/b/c/d/N/index.htm
    /..../X/a/b/c/d/N/index.htm

    Come vedi occupa sempre solo "una posizione" prima di X ma è variabile.
    La tua espressione regolare come varia?
    codice:
    $newpath = preg_replace('#/parametro/.*?/#', "/parametro/$newdir/", $oldpath);

  5. #5
    Cioe' devi cambiare il secondo segmento? Dillo chiaramente

    codice:
    preg_replace('#^/(.*?)/.*?/#', "/$1/$newdir/", $oldpath);

  6. #6
    ehm.. hai ragione XD

    DEVO CAMBIARE SOLO IL SECONDO ARGOMENTO MANNAGGIA!
    Ora provo subito ma penso che tu mi abbia risolto un problema assurdo.
    Grazie

  7. #7
    ovviamente funziona alla grande..... G R A Z I E

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.