Ciò che codifica è questo ... e come si fa a fuggire in php?
-
21-09-2019 - |
Domanda
sto lavorando su un raschietto dati imdb per un sito, e mi sembrano codificare tutto in una codifica strano non ho mai visto prima.
<a href="/keyword/exploding-ship/">Exploding Ship</a>
A Bug's Life
C'è una funzione PHP che permette di convertire questi per personaggi regolari?
Soluzione
Questa non è la codifica, è entità HTML codici esadecimali.
try
$converted = html_entity_decode($string, ENT_QUOTES, 'UTF-8');
Altri suggerimenti
Queste sono SGML caratteri di escape. Possono essere sia decimale ('
) o esadecimale ( 
) e si riferiscono direttamente ad un punto di codice Unicode.
html_entity_decode () dovrebbe funzionare in PHP 5. Anche se non posso provare in questo momento.
Nel primo commento su quella pagina di riferimento, il seguente codice è dato per le versioni di PHP più vecchie:
// For users prior to PHP 4.3.0 you may do this:
function unhtmlentities($string)
{
// replace numeric entities
$string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string);
$string = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $string);
// replace literal entities
$trans_tbl = get_html_translation_table(HTML_ENTITIES);
$trans_tbl = array_flip($trans_tbl);
return strtr($string, $trans_tbl);
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow