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

Codice PHP:
header('Content-Type: text/html; charset=utf-8');
mb_internal_encoding("UTF-8"); 
ho un file XML così strutturato:

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>
al quale accedo tramite xpath:

Codice PHP:
$path "//sillabazione/@accentazione";
$sillTmp $xpath->evaluate($path$val);

$accenti = array();
foreach(
$sillTmp as $val){
    
array_push($accenti$val->nodeValue);

fin qui tutto bene, ma quando cerco di sostituire le lettere accentate né il preg_replace né lo str_replace funzionano.

esempio:
Codice PHP:
$sillabazione str_replace('à'"à"$accenti[0]); 
pensavo fosse un problema di codifica ma ho provato con tutte le possibili opzioni (&amp;agrave; - &amp;#224; - &amp;#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...
mah!
qualcuno può aiutarmi?