Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    non funziona una funzione...

    o meglio... funziona ma solo al suo interno... non capisco come mai...

    ho questa funzione

    Codice PHP:
    function salva_testi($t){
        
    $t addslashes(stripslashes($t));
        
    $t str_replace("<""&lt;"$t);
        
    $t str_replace(">""&gt;"$t); 
        
    $t nl2br($t);
        
    $t str_replace("[B]""[b]"$t);
        
    $t str_replace("[/B]""[/b]"$t);
        
    $t str_replace("[list][*]""<ul>[*]"$t);
        
    $t str_replace("[/list]""[/list]"$t);
        
    $t str_replace("[list=a][*]""[list=1][*]"$t);
        
    $t str_replace("[/list=a]""[/list]"$t);
        
    $t str_replace("[list=1][*]""[list=1][*]"$t);
        
    $t str_replace("[/list=1]""[/list]"$t);
        
    $t str_replace("[*]""[*]"$t);
        
    $t str_replace("[EMAIL=""<a href=mailto:"$t);
        
    $t str_replace("[URL=""<a href="$t);
        
    $t str_replace("[/URL]""</a>"$t);
        
    $t str_replace("[/EMAIL]""</a>"$t);

    che richiamo cosi

    Codice PHP:
        salva_testi($testo_it);
        
    salva_testi($testo_en); 
    però la variabile $testo_it esterna non è formattata correttamente, mentre se stampo dall'interno della funzione è tutto ok... come mai?
    sbaglio qualche cazzatina ma non ne vengo a capo
    hasta siempre comandante Guevara!

    bisogna prendere la vita come viene...sperando che la vita non "prenda" te!!!

  2. #2
    codice:
    function salva_testi($t){
        $t = addslashes(stripslashes($t));
        $t = str_replace("<", "&lt;", $t);
        $t = str_replace(">", "&gt;", $t);
        $t = nl2br($t);
        $t = str_replace("", "", $t);
        $t = str_replace("", "", $t);
        $t = str_replace("<ul>[*]", "<ul>[*]", $t);
        $t = str_replace("[/list]", "[/list]", $t);
        $t = str_replace("
    1. ", "
      1. ", $t); $t = str_replace("
      ", "
    ", $t); $t = str_replace("
    1. ", "
      1. ", $t); $t = str_replace("
      ", "
    ", $t); $t = str_replace("[*]", "[*]", $t); $t = str_replace("", "</a>", $t); $t = str_replace("", "</a>", $t); return $t; }

  3. #3
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    non ho capito molto da quello che hai scritto ma cmq qui non sostituisce nulla....
    $t = str_replace("", "", $t);
    $t = str_replace("", "
    ", $t);

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  4. #4
    Originariamente inviato da oronze
    non ho capito molto da quello che hai scritto ma cmq qui non sostituisce nulla....
    $t = str_replace("", "", $t);
    $t = str_replace("", "
    ", $t);
    questo è perchè sostituisco (b) tra le quadre e qui viene preso come grassetto!

    @serialkiller
    ... anche col return è lo stesso

    praticamente...

    Codice PHP:
    echo $testo_it
    mi da
    [tag]testo[/tag]

    e non <tag>testo</tag> come dovrebbe

    mentre

    Codice PHP:
    echo $t
    all'interno della funzione
    hasta siempre comandante Guevara!

    bisogna prendere la vita come viene...sperando che la vita non "prenda" te!!!

  5. #5
    Lascia il return alla funzione, poi se la chiamata non è in un echo, ovviamente devi stampare

    echo salva_testi($testo_it);

    Poi la funzione ha qualche problema di suo, per es. spiegami questa:

    $t = addslashes(stripslashes($t));

  6. #6
    l'ho risolta cosi:

    funzione
    Codice PHP:
    function salva_testi($t){
        global 
    $testo;
        
    $t addslashes(stripslashes($t));
        
    $t str_replace("<""&lt;"$t);
        
    $t str_replace(">""&gt;"$t); 
        
    $t nl2br($t);
        
    $t str_replace("[B]""[b]"$t);
        
    $t str_replace("[/B]""[/b]"$t);
        
    $t str_replace("[list][*]""<ul>[*]"$t);
        
    $t str_replace("[/list]""[/list]"$t);
        
    $t str_replace("[list=a][*]""[list=1][*]"$t);
        
    $t str_replace("[/list=a]""[/list]"$t);
        
    $t str_replace("[list=1][*]""[list=1][*]"$t);
        
    $t str_replace("[/list=1]""[/list]"$t);
        
    $t str_replace("[*]""[*]"$t);
        
    $t str_replace("[EMAIL=""<a href=mailto:"$t);
        
    $t str_replace("[URL=""<a href="$t);
        
    $t str_replace("[/URL]""</a>"$t);
        
    $t str_replace("[/EMAIL]""</a>"$t);
        
    $testo $t;

    richiamo:
    Codice PHP:
        salva_testi($testo_it);
        
    $testo_it $testo
    ora devo fare una prova se con l'inglese mi va qualcosa a putt...
    hasta siempre comandante Guevara!

    bisogna prendere la vita come viene...sperando che la vita non "prenda" te!!!

  7. #7
    però come dici tu è meglio !
    hasta siempre comandante Guevara!

    bisogna prendere la vita come viene...sperando che la vita non "prenda" te!!!

  8. #8
    Originariamente inviato da serialkiller

    Poi la funzione ha qualche problema di suo, per es. spiegami questa:

    $t = addslashes(stripslashes($t));
    aggiunge autimaticamente i backslashes alle virgolette per evitare influene al codice
    hasta siempre comandante Guevara!

    bisogna prendere la vita come viene...sperando che la vita non "prenda" te!!!

  9. #9
    ah ovvio che sono disposto ad ascoltare consigli e alternative migliori...
    hasta siempre comandante Guevara!

    bisogna prendere la vita come viene...sperando che la vita non "prenda" te!!!

  10. #10
    Originariamente inviato da paololosco
    ah ovvio che sono disposto ad ascoltare consigli e alternative migliori...
    Semplicemente, se devi mettere gli escape e usi addslashes, perchè metti due funzioni una il contrario dell'altra?

    addslashes le mette

    stripslashes le toglie

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.