Projekt

Allgemein

Aktionen

GX-Task #40397

geschlossen

UTF-8-Erkennung kann performanter gelöst werden

Von Moritz Bunjes vor fast 11 Jahren hinzugefügt. Vor mehr als 7 Jahren aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
Mirko Janssen
Kategorie:
Core
Zielversion:
% erledigt:

100%

Steps to reproduce:
Betroffene Versionen:
2.1.1.2
Release Notes Langtext:

UTF-8-Erkennung performanter gelöst


Beschreibung

In mehreren Scripten im Shop wird ein UTF-8-String mittels des regulären Ausdrucks

if(preg_match('/(?:[\xC2-\xDF][\x80-\xBF]|\xE0[\xA0-\xBF][\x80-\xBF]|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}|\xED[\x80-\x9F][\x80-\xBF]|\xF0[\x90-\xBF][\x80-\xBF]{2}|[\xF1-\xF3][\x80-\xBF]{3}|\xF4[\x80-\x8F][\x80-\xBF]{2})+/xs', $p_string))
{
$t_encoding = 'UTF-8';
}

erkannt. Dies soll auch so funktionieren (ungetestet, niedrigste PHP-Version beachten):

if(preg_match('//u', $p_string))
{
$t_encoding = 'UTF-8';
}


Checkliste 0/0

Aktionen #3

Von Timo Backhaus vor mehr als 10 Jahren aktualisiert

  • Status wurde von Gemeldet zu Abgewiesen geändert
  • Zugewiesen an wurde auf Timo Backhaus gesetzt
  • Zielversion 2.1.3.0 beta1 wurde gelöscht

Für die genannte Lösung wird die PCRE Erweiterung benötigt:
PCRE (Perl Compatible Regular Expressions) Support

Diese ist ab PHP 4.2.0 standardmäßig aktiviert und ab PHP 5.3 nicht mehr deaktivierbar.

Aktionen