Das Problem des Backslashes in PHP
Der Backslash ist ein Sonderzeichen in PHP. Das bedeutet, dass in einem String, wenn wir möchten, dass der Backslash für sich selbst steht, wir ihn verdoppeln müssen:
<?php
$str = '\\ \\\\ \\\\\\'; // tatsächlich ist der String '\ \\ \\\'
?>
Der Backslash ist auch ein Sonderzeichen in regulären Ausdrücken. Das bedeutet, dass innerhalb des regulären Ausdrucks, damit der Backslash für sich selbst steht, er sogar viermal geschrieben werden muss:
<?php
echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // gibt '! ! !!' aus
?>
Lassen Sie uns nun einen regulären Ausdruck schreiben, in dem
das Suchmuster lautet: Backslash
ein- oder mehrmals. In diesem Fall schreiben wir
den Operator + für 4
Zeichen davor ohne Gruppierung:
<?php
echo preg_replace('#\\\\+#', '!', '\\ \\\\ \\\\\\'); // gibt '! ! !' aus
?>
Gegeben ist der String:
<?php
$str = 'a\\b c\\d e\\f';
?>
Finden Sie in diesem String alle Teilstrings nach dem Muster Buchstabe, Backslash, Buchstabe.
Gegeben ist der String:
<?php
$str = 'a\\b c\\\\d e\\\\\\f';
?>
Finden Sie in diesem String alle Teilstrings nach dem Muster Buchstabe, Backslash beliebig oft, Buchstabe.