Bonjour,
je bloque sur un script à cause des caractères spéciaux € et ^2.
Mon script aspire une page sur internet et retrouve des couples euro / surface en mètre carré pour effectuer un ratio des deux. Mon problème est que mon script ne fonctionne pas sur tous les sites Internet aspirés.
A force de teste, j'ai fini par comprendre que tous les sites n'écrivait pas € pour € et m2 pour mettre carré. J'ai donc amélioré un bout de mon expression régulière pour donner ceci.
(?:€|€) pour euro et
(?:m2|m²) pour les surface.
Mon script ne fonctionnait pas plus. Du coup, j'ai écris le résultat aspiré directement dans un fichier. J'ai ainsi découvert que certains site Internet utilisait un m≤ à la place de m2 pour les surfaces. En replaçant le m≤ par un m2, mon script fonctionne. J'ai donc pensé qu'un str_replace('m≤', 'm2', $variable); suffirait, mais ce n'est pas le cas.
Maintenant, j'ai ajouté les codes hexadécimal des caractères, mais je ne suis pas plus avancé
(?:€|€|\x20AC)
(?:m\xB2|m2)
Tout est dit ... Je suis donc à court d'idée . Sur certain site mon expression fonctionne, sur d'autres non. Savez-vous comment je pourrais dire à mon expression régulière de reconnaitre ce maudit signe "carré" sous toutes ses formes ainsi que ce maudit signe "euro" sous toutes ses formes ?
Merci d'avance pour votre patience / voir pour votre aide !
Partager