Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    170

    Richiamare funzione da stringa

    E' possibile fare una funzione che richiama una funzione leggendo una stringa?

    Ad esempio:

    Codice PHP:
    miafunzione('Mio Testo [test:500] Mio Testo'); 
    restituisce

    Mio Testo
    Codice PHP:
    test(500); 
    Mio testo

    dove test() è una funzione precedentemente dichiarata

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    certo... prima devi "parsare" la stringa e "isolare" la parte che ti interessa (questo dipende dalla sintassi che adotti), poi avrai in due variabili il $nome della funzione e il $parametro e potrai richiamare la funzione in vari modi, p.es. $$nome($parametro)

    Se però le stringhe sono sotto il tuo controllo, ti conviene inserire direttamente il codice php effettivo con dei segnaposto, isolarlo e ricavarlo in una variabile (es. $chiamata) e poi fai eval($chiamata);

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    170
    Originariamente inviato da eiyen
    certo... prima devi "parsare" la stringa e "isolare" la parte che ti interessa (questo dipende dalla sintassi che adotti), poi avrai in due variabili il $nome della funzione e il $parametro e potrai richiamare la funzione in vari modi, p.es. $$nome($parametro)

    Se però le stringhe sono sotto il tuo controllo, ti conviene inserire direttamente il codice php effettivo con dei segnaposto, isolarlo e ricavarlo in una variabile (es. $chiamata) e poi fai eval($chiamata);

    In effetti hai ragione....

    Ho voluto creare questa cosa macchinosa per evitare che quelli che "scrivono" i testi potessero usare php direttamente ma solo alcune funzioni perchè altrimenti dovrei fare troppi controlli.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    puoi cmq filtrare le funzioni in altro modo... p.es. banalmente consentendo l'inserimento di una sintassi semplificata e verificando che i termini siano solo quelli da te desiderati... in ogni caso una volta che estrai i dati puoi "costruire" la stringa da richiamare con "eval"

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.