Verzweifelnder: u Modifier in einem PHP regEx Ausdruck

Beitrag lesen

Hi Rolf!

Zunächst mal danke für alle Antworten hier!

Also mit mb_ereg() komme ich nicht ganz klar. 😟

Da liefern mir ein und die selben regEx Ausdrücke verschiedene Ergebnisse:

<?php

mb_internal_encoding('UTF-8');

// Test 1:
$S_string = 'Hammer';

$S_regEx = '~[a-z]~';
$B_test_1 = preg_match($S_regEx, $S_string) ? TRUE : FALSE;
$B_test_2 = mb_ereg($S_regEx, $S_string);

var_dump($B_test_1); echo '<br><br>'; // Liefert TRUE
var_dump($B_test_2); echo '<br><br>'; // Liefert FALSE

// Test 2:
$S_string = 'Hammer';

$S_regEx = '[a-z]';
$B_test_1 = preg_match($S_regEx, $S_string) ? TRUE : FALSE;
$B_test_2 = mb_ereg($S_regEx, $S_string);

var_dump($B_test_1); echo '<br><br>'; // Liefert FALSE
var_dump($B_test_2); echo '<br><br>'; // Liefert TRUE

// Test 3 mit einem regEx Ausdruck, wie ich ihn mit preg_match() bis dato verwende:
$S_string = 'Jörg aus Frankfurt am Main';

$S_regEx = '~^[a-zäöüA-ZÄÖÜ\-\s]*$~u';
$B_test_1 = preg_match($S_regEx, $S_string) ? TRUE : FALSE;
$B_test_2 = mb_ereg($S_regEx, $S_string);

var_dump($B_test_1); echo '<br><br>'; // Liefert TRUE (wie von mir erwartet!)
var_dump($B_test_2); echo '<br><br>'; // Liefert FALSE

?>

Verwenden diese 2 Funktionen verschiedene regEx Sybtaxe? Gibt es sowas überhaupt? Ich bin wie gesagt kein regEx Experte, aber die von Dir vorgeschlagene Funktion verwirrt mich ()derzeit noch) mehr als sie mir hilft.

Liebe Grüße

Der Verzweifelnde