Raketenwilli: u Modifier in einem PHP regEx Ausdruck

Beitrag lesen

Ich hab kein Problem oder Fehler .

Doch :-), hast Du. Dein Test zeigt nur, ob etwas „matscht“, nicht aber was genau.

Dann versuche mal …

<?php
$S_regEx_1 = '/[𝒴ö]/';
$S_regEx_2 = '/[𝒴ö]/u';

$S_string = "Haus mit einem '𝒴' und einem 'ö' und dann '𝒴ö' sowie 'ö𝒴' an der Türe.";

$B_test_1 = preg_split( $S_regEx_1, $S_string );

echo "Ohne /u" . PHP_EOL;
var_dump( $B_test_1 );

$B_test_2 = preg_split( $S_regEx_2, $S_string );

echo  PHP_EOL . "Mit /u" . PHP_EOL;
var_dump( $B_test_2 );

Ausgaben (im Terminal):

Ohne /u
array(20) {
  [0]=>
  string(16) "Haus mit einem '"
  [1]=>
  string(0) ""
  [2]=>
  string(0) ""
  [3]=>
  string(0) ""
  [4]=>
  string(13) "' und einem '"
  [5]=>
  string(0) ""
  [6]=>
  string(12) "' und dann '"
  [7]=>
  string(0) ""
  [8]=>
  string(0) ""
  [9]=>
  string(0) ""
  [10]=>
  string(0) ""
  [11]=>
  string(0) ""
  [12]=>
  string(9) "' sowie '"
  [13]=>
  string(0) ""
  [14]=>
  string(0) ""
  [15]=>
  string(0) ""
  [16]=>
  string(0) ""
  [17]=>
  string(0) ""
  [18]=>
  string(10) "' an der T"
  [19]=>
  string(4) "�re."
}

Mit /u
array(7) {
  [0]=>
  string(16) "Haus mit einem '"
  [1]=>
  string(13) "' und einem '"
  [2]=>
  string(12) "' und dann '"
  [3]=>
  string(0) ""
  [4]=>
  string(9) "' sowie '"
  [5]=>
  string(0) ""
  [6]=>
  string(15) "' an der Türe."
}

Fazit: Nimm den Modifier.