Navigazione

  • CATEGORIES
  • Discussioni
  • Non letti
  • Recenti
  • Hashtags
  • Popolare
  • Utenti
  • Registrati
  • Accedi
Privacy - Termini e condizioni
© 2020 Search On Media Group S.r.l.
  • Registrati
  • Accedi
  • CATEGORIES
  • Discussioni
  • Non letti
  • Recenti
  • Hashtags
  • Popolare
  • Utenti
  • Stream
  • Interest
  • Categories
  1. Home
  2. Categorie
  3. Coding e Sistemistica
  4. Coding
  5. Script php e accenti
Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
  • C
    cerbero User Attivo • 18 gen 2010, 11:36 ultima modifica di

    Script php e accenti

    Salve ragazzi,
    ho un problema che mi sta facendo diventare scemo, ovvero riguarda alcune righe di codice php inserite in un template che mostrano una foto in base al nome di una variabile ($tag).
    Il problema è che se la variabile presenta un accento (obbligatori perchè si tratta di nomi e cognomi), il file non viene visualizzato.
    Esiste una condizione precisa che possa includere?
    Questo è il codice:

    <br><?php
    if(file_exists("biografie/$tag.jpg"))
    {
    // If yes, print out the image
    echo "<img src="biografie/$tag.jpg" width="35 " height="50 " alt="Foto di $tag" / />";
    }
    // if no, give an alternative image
    else
    {
    echo "&nbsp&nbsp&nbsp<img src="biografie/nofoto.png" height="15 " alt="$tag non ha ancora una foto " / />&nbsp&nbsp";
    }
    ?> <a href="tags.php?$session[sessionurl]tag=$tag_url"><font size="1">$tag</font></a>

    0 Miglior Risposta Ringrazia Cita Rispondi

      1 Risposta Ultima Risposta
      Caricamento altri post
      Rispondi
      • Topic risposta
      Effettua l'accesso per rispondere
      • Da Vecchi a Nuovi
      • Da Nuovi a Vecchi
      • Più Voti
       

    • marcocarrieri
      marcocarrieri ModSenior • 18 gen 2010, 18:28 ultima modifica di

      Fare un eventuale replace con gli equivalenti in html?

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • M
        monital User • 18 gen 2010, 19:29 ultima modifica di

        Non vorrei dire una boiata ma potresti provare a inserire questa riga all'inziio del file

        [HTML]<meta content="text/html; charset=ISO-8859-1 " http-equiv="content-type">[/HTML]

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • C
          cerbero User Attivo • 18 gen 2010, 23:30 ultima modifica di

          @marcocarrieri said:

          Fare un eventuale replace con gli equivalenti in html?
          Ci ho smanettato in tutti i modi ma non capisco come inserire il replace... potresti aiutarmi Marco? Purtroppo ne capisco veramente poco di php.
          Grazie

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • marcocarrieri
            marcocarrieri ModSenior • 19 gen 2010, 06:52 ultima modifica di

            Una cosa del genere.
            $testo=str_replace("<","<",$testo);
            $testo=str_replace("è","è",$testo);

            E cosi per tutti i caratteri che intendi sostituire con il corrispettivo in html.

            Se sono tante si puo studiare una maniera raffinata con dei vettori e dei cicli magari.

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • C
              cerbero User Attivo • 19 gen 2010, 08:07 ultima modifica di

              No, non sono tanti... mi succede solo per una decina di nomi su alcune decine di migliaia...
              dove devo inserire però quel codice in mezzo all'altro?
              Grazie ancora e scusa la mia ignoranza.

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • marcocarrieri
                marcocarrieri ModSenior • 19 gen 2010, 08:10 ultima modifica di

                Se il file che genera errore è $tag allora prova con:
                $tag =str_replace("è","è",$tag );
                Pero ora che ci penso su un nome di file mmmm potrebbe non essere questa la soluzione...

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • C
                  cerbero User Attivo • 19 gen 2010, 08:29 ultima modifica di

                  Wow, funziona!!!
                  Ho aggiunto queste righe...
                  $tag =str_replace("é","e", $tag);
                  $tag =str_replace("à","a", $tag);
                  $tag =str_replace("å","a", $tag);
                  $tag =str_replace("ü","u", $tag);
                  Ma ce ne sono altre... è possibile raggruppare il tutto?
                  Grazie mille!!!

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • marcocarrieri
                    marcocarrieri ModSenior • 19 gen 2010, 08:38 ultima modifica di

                    Proviamo cosi.

                    
                    function rimpiazza($testo)
                    {
                        $accenti=array("à","è","ù");
                        $scambi=array("a","e","u");
                        $quanti=count($accenti);
                        for ($indice=0;$indice<$quanti;$indice++)
                        {
                            $testo=replace($accenti[$indice],$scambi[$indice],$testo);
                        }
                        return $testo;
                    }
                    
                    ```E richiami questa funzione cosi.
                    
                    $tag=rimpiazza($testo);
                    
                    Non l'ho testata pero.
                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    Caricamento altri post
                    Rispondi
                    • Topic risposta
                    Effettua l'accesso per rispondere
                    • Da Vecchi a Nuovi
                    • Da Nuovi a Vecchi
                    • Più Voti