#14398

Note : PHP récupérer titre d’une page - Le Hollandais Volant

MÀJ.

Bon, finalement la lib DOM dans PHP n’est pas parfaite.
Exemple avec mon dernier lien : http://shelgon.tumblr.com/post/137159949929/it-has-been-announced-that-the-mythical-pok%C3%A9mon

L’encodage de la page est "utf-8".
L’encodage dans headers est "utf-8"
Il n’y a pas de caractères unicode échappés dans la balise title de la page (certains caractères sont bien échappés ailleurs dans la page, mais ça ne devrait pas gêner).

Pourtant ce con me retourne un titre comme ça : « The Problematic Pokémon ».

C’est la seule page qui me retourne ça. Une autre page Tumblr avec d’autres caractères unicode dans le titre fonctionne très bien. Tout comme les articles de mon site. Tout comme un lien en local.

J’ai aussi essayé de mettre mon script en UTF-8, avec iconv_set_encoding("internal_encoding", "UTF-8") et consorts, mais rien n’y fait.

WTF.


Bon bah on retourne à la bonne vieille regex manuelle, hein. Je ne veux pas d’une lib qui merde comme elle veut.
Je viens d’ailleurs d’améliorer ladite regex, passant de ça :

preg_match('#<title>(.*)</title>#Usi', $ext_file, $titles);

à ça :
preg_match('#<title ?[^>]*>(.*)</title>#Usi', $ext_file, $titles);


Certains sites (en particulier Google Play) utilisent des attributs sur la balise title, et il faut les prendre en compte.

(BTW, cette regex fonctionne sur mon lien avec « The Problematic Pokémon », et me donne bien le « é »)


Vivement le jour où tout le monde, tous les logiciels, partout, tout le temps, utiliseront la même chose.
http://lehollandaisvolant.net/?mode=links&id=20160128180954