Salve,
devo sostituire in una stringa i caratteri speciali con i rispettivi codici html.
I codici che voglio ottenere sono del tipo: %#123; %#100; ecc..
Come posso fare? esiste una funzione apposita?
Grazie!
Salve,
devo sostituire in una stringa i caratteri speciali con i rispettivi codici html.
I codici che voglio ottenere sono del tipo: %#123; %#100; ecc..
Come posso fare? esiste una funzione apposita?
Grazie!
Puoi utilizzare la funzione htmlspecialchars, converte i caratteri speciali in entità HTML.
http://it2.php.net/manual/en/function.htmlspecialchars.php
se utilizzo htmlspecialchar, salvando su xml con simplexml mi da due errori..
Warning: SimpleXMLElement::addAttribute() [simplexmlelement.addattribute]: string is not in UTF-8 in C:\Program Files\...
Warning: SimpleXMLElement::asXML() [simplexmlelement.asxml]: output conversion failed due to conv error, bytes 0xE8 0x22 0x20 0x64 in C:\...
sia il file php che quello xml sono ISO-8859-1.
Come mai mi fa così?
puoi farmi vedere la porzione di codice dove hai inserito la funzione di php htmlspecialchars ?
Codice PHP:
$xml = simplexml_load_file('news.xml');
$titleSalvaNews = htmlspecialchars($titleSalvaNews, ENT_QUOTES);
$nuovo = $xml->addChild('item');
$nuovo->addAttribute('title', $titleSalvaNews);
file_put_contents("news.xml", $xml->asXML());
prova così:
Altra cosa, sicuro che sono caratteri speciali?Codice PHP:
$titleSalvaNews = htmlspecialchars($titleSalvaNews, ENT_QUOTES,"ISO8859-15");
Mi da gli stessi errori..
Io per caratteri speciali intendo à è ì ò ù ecc..
Pensavo ad un'altra soluzione.. potrei estrapolare il numero corrispondente del codice asci ed modificare così: &# codice ; manualmente.
Solo che dovrei trovare farlo solo per i caratteri speciali..
Sono disperato.. sono due settimane che son piantato per questa storia.. solo voi potete aiutarmi..
Ho due possibilità per far girare il tutto:
1. Attraverso php scrivere su file xml con i caratteri speciali belli puliti, senza codifica.
Non so se è possibile.. io non ci son riuscito.
2. Attraverso php codificare i caratteri accentati nella forma { ecc.. e salvarli su xml.
Tutto questo perchè sono legato dal fatto che il mio xml dev'essere letto da un swf che legge in quei due modi..
Confido in voi!
help me!
l'avevo già consigliato
fai una funzione apposta per sostuire i caratteri con la loro entità apposita:
seguendo lo schema di http://www.w3schools.com/tags/ref_entities.aspCodice PHP:
function replace_special_chars($value)
{
$string = array('ò', 'à');
$replace = array('ò', 'à');
return str_replace($string, $replace, $value);
}