Visualizzazione risultati 1 fino 5 di 5

Discussione: preg_replace: passare i dati a una funzione esterna

  1. #1
    Guest

    Question preg_replace: passare i dati a una funzione esterna

    ho una funzione che converte una stringa in un link tipo
    <a href="/dir/descrizione_titolo_minuscolo">Titolo Maiuscolo</a>

    un testo del tipo
    che bello scrivere [cose Inutili] solo per tentare di trovare una soluzione a questo problema

    devo far passare la scritta cose Inutili (che sta tra parentesi quadre) alla funzione che la converte nel link sopra descritto...il problema è che ottengo un link con la variabile presa come sta nel testo, senza sostituizione dei spazi con underscore, senza rendere minuscole/maiuscole le lettere iniziali.
    per farlo utilizzo
    Codice PHP:
    $testo = preg_replace( "#\[(.*)\]#siU", funzione("$1"), $testo);
    qualcuno mi sa dire perchè i dati passati alla funzione non vengono elaborati correttamente? c'è un altro modo per far passare la stringa per la funzione o per elaborare i dati come voglio io?

  2. #2
    Guest

    Predefinito

    nn ho capito bene il tuo problema

  3. #3
    Guest

    Predefinito

    ho del testo con alcune parole incluse tra parentesi quadre. passando il testo per preg_replace devo sostituire quelle parole con dei link che le contengono. l'url del link deve essere in minuscolo e il testo con le iniziali in maiuscolo. per fare ciò devo richiamare una funzione, ma le parole vengono inserite nel link senza essere elaborate...

    esempio
    che bello scrivere [cose Inutili] solo per tentare di trovare una soluzione a questo problema
    dovrebbe produrre
    che bello scrivere <a href="/dir/descruizione_cose_inutili">Cose Inutili</a> solo per tentare di trovare una soluzione a questo problema
    invece produce
    che bello scrivere <a href="/dir/descruizione_cose Inutili">cose Inutili</a> solo per tentare di trovare una soluzione a questo problema

    capito?

  4. #4
    Guest

    Predefinito

    devi usare la "e" come modificatore di criterio oppure usare preg_replace_callback()

  5. #5
    Guest

    Predefinito

    funziona, grazie mille :D

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •