Regex Problem, unerwartete Rückgabe
Hallo Miteinander,
ich habe ein Problem mit einem Regex:
<?php var_dump(preg_replace('/[^a-zA-Z0-9-öäüÖÄÜß]/', ',', '”Test“')); //Ausgabe string(10) ",,,Test,,œ" ?>
<?php mb_internal_encoding("UTF-8"); var_dump(preg_replace('/[^a-zA-Z0-9-öäüÖÄÜß]/', ',', '”Test“')); //Ausgabe string(10) ",,,Test,,œ" ?>
<?php header('Content-Type: text/html; charset=utf-8'); var_dump(preg_replace('/[^a-zA-Z0-9-öäüÖÄÜß]/', ',', '”Test“')); //Ausgabe: string(10) ",,,Test,,�" ?>
<?php header('Content-Type: text/html; charset=utf-8'); mb_internal_encoding("UTF-8"); var_dump(preg_replace('/[^a-zA-Z0-9-öäüÖÄÜß]/', ',', '”Test“')); //Ausgabe: string(10) ",,,Test,,�" ?>
In allen 4 Fällen hätte ich eine Ausgabe von string(6) ",Test," erwartet.
Eigentlich sollte alles außer a-z, A-Z, 0-9, -, ö, ä, ü, Ö, Ü, ß mit ',' ersetzt werden. Aber irgendwie greift das nicht auf das einleitende und ausleitende Anführungszeichen. Ganz im Gegenteil es werden noch zusätzliche Zeichen angelegt. Irgendwie gibt es hier ein Kodierungsproblem?
Wisst ihr warum es sich so verhält? Ich bin mit meinem Latein am Ende.
Freundliche Grüße,
[Link: Registrierung erforderlich]
Full Stack Software Engineer & Architekt
Sprachen: C#, TSQL, HTML5, Ecmascript 6, CSS 3.1, (TS, C++, PHP)
Frameworks: .NET, .NET Core, ASP.NET MVC, ASP.NET WebApi, WPF, WCF, Entity Framework, Bootstrap
Dieser Beitrag wurde zuletzt bearbeitet: 05.12.2013 04:45 von GGSeSports.
|