Sponsor-Board.de

Normale Version: Regex Problem, unerwartete Rückgabe
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Miteinander,

ich habe ein Problem mit einem Regex:

PHP-Code:
<?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.

PHP-Code:
var_dump(preg_replace('/[^a-zA-Z0-9-öäüÖÄÜß]/u'',''”Test“')); 

tkausl schrieb:

PHP-Code:
var_dump(preg_replace('/[^a-zA-Z0-9-öäüÖÄÜß]/u'',''”Test“')); 


1000x Danke!

Referenz-URLs