Visualizzazione risultati 1 fino 3 di 3

Discussione: Estrapolare valore da stringa

  1. #1
    Guest

    Predefinito Estrapolare valore da stringa

    Salve a tutti,

    Sto lavorando per un bbcode personale e avrei bisogno di una mano per ottenere un risultato di questo tipo:

    [link=#]testo[/link]

    tirare fuori "testo", eventualmente anche "#"...

    All'inizio pensavo di fare un str_replace("[","<",$valore);
    ed avere quindi semplicemente lo stesso risultato con <link=#>...

    Però ora per un lavoro alternativo mi serve ottenere il valore di "testo", o quantomeno eliminare tutti i "[link=#]" e i "[/link]" ed avere solo "testo"...
    (naturalmente al posto di # ci sono i vari link ed è mi serve qualcosa tipo "[link=*]" per prendere tutto il valore senza sapere qual'è effettivamente)


    Un aiutino? Grazie in anticipo.

    edit:

    L'unica cosa che sono riuscito a ricavare è:

    $str="[link=#]ASD[/link]";
    $stx=split("]",$str);
    print $stx[1];

    Che mi stampa da ASD in poi... Potrei poi far stampare da prima di [/link] però in un testo con più di questi codici potrebbe riscontrarsi qualche problema...
    Ultima modifica di dreadnaut : 29-01-2008 alle ore 20.27.20

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    quello che ti serve sono le espressioni regolari. Puoi cercare in giro se le trovi già pronte per BBCode, e poi adattarle

  3. #3
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Penso che tu voglia trasformare quella stringa in un link. Prova così:
    Codice PHP:
    $str=preg_replace("#\[link=(.+?)\](.*?)\[/link\]#i","<a href=\"\\1\">\\2</a>",$str);
    Se invece vuoi i due valori, prova così:
    Codice PHP:
    ereg("#\[link=(.+?)\](.*?)\[/link\]#i",$str,$regs);
    echo
    $regs[1]; // Stampa #
    echo $regs[2]; // Stampa testo
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

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