ho bisogno di aiuto per riuscire a sostituire dei caratteri all'interno di una stringa.
spiego velocemente il problema perché è un caso un po' particolare:
tutto è in utf-8, il file PHP così come il file XML
ho un file XML così strutturato:Codice PHP:header('Content-Type: text/html; charset=utf-8');
mb_internal_encoding("UTF-8");
al quale accedo tramite xpath:codice:<dizionario lettera="a"> <parola id="1"> <lemma>abaca</lemma> <sillabazione ordine="" accentazione="à-ba-ca">à-ba-ca</sillabazione> </parola> <parola id="2"> <lemma>abacà</lemma> <sillabazione ordine="" accentazione="a-ba-cà">a-ba-cà</sillabazione> </parola> </dizionario>
fin qui tutto bene, ma quando cerco di sostituire le lettere accentate né il preg_replace né lo str_replace funzionano.Codice PHP:$path = "//sillabazione/@accentazione";
$sillTmp = $xpath->evaluate($path, $val);
$accenti = array();
foreach($sillTmp as $val){
array_push($accenti, $val->nodeValue);
}
esempio:
pensavo fosse un problema di codifica ma ho provato con tutte le possibili opzioni (&agrave; - &#224; - &#xE0;) e non è servito a nulla, a questo punto mi sorge il dubbio che il problema sia dovuto al fatto che i dati li recupero via xpath...Codice PHP:$sillabazione = str_replace('à', "à", $accenti[0]);
mah!
qualcuno può aiutarmi?

Rispondi quotando