Ciao. Sto scrivendo degli script php per taggare dei file mp3 reperendo i dati dai siti Wikipedia e Discogs dell’artista dei brani tramite simple_html_dom. I brani sono contenuti in cartelle che hanno come nome il titolo dell’album, nome che viene usato per fare un confronto con i vari titoli album presenti nei due siti: se il confronto dà esito positivo, passo alla pagina dell’album per prelevare i titoli dei brani da usare nei tag.
Il problema è che quando un album contiene un apostrofo, anche se stampando con echo il nome dell’album da cartella è identico al nome dell’album del sito Discogs, il confronto dà esito negativo (per quanto riguarda Wikipedia non ho problemi di apostrofo ma di caratteri speciali come & o !). Posto parte del codice:
Codice PHP:
$discogsUrl=$_POST["discogsUrl"];
$discogs=file_get_html($discogsUrl);
foreach($discogs->find('tr[class^="card r_tr"]')as $tr){
$td=$tr->find('td.title',0);
$a=$td->find('a',0);
if(strtolower($a->plaintext)==$albumDaFolder[$i]){
$albumDiscogs[$i]=ucwords($a->plaintext);
$albumUrl[$i]='https://www.discogs.com'.$a->href;
$albumDom=file_get_html($albumUrl[$i]);
break;
}else{
$albumDiscogs[$i]='';
$albumUrl[$i]='';
}
}
Ho provato a usare addshalshes, htmlspecialchars e altre soluzioni creative; il problema è che non so quale è il problema, dato che, come già detto, stampando con echo la stringa è come dovrebbe essere.
Se qualcuno ha una soluzione gliene sarei eternamente grata.
Rosa