- Home
- Categorie
- Coding e Sistemistica
- PHP
- Script php e accenti
-
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 "   <img src="biografie/nofoto.png" height="15 " alt="$tag non ha ancora una foto " / />  ";
}
?> <a href="tags.php?$session[sessionurl]tag=$tag_url"><font size="1">$tag</font></a>
-
Fare un eventuale replace con gli equivalenti in html?
-
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]
-
@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
-
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.
-
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.
-
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...
-
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!!!
-
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.