⊗ppPmRgBc 244 of 447 menu

The Backslash Problem in PHP

The backslash is a special character in PHP. This means that in a string, if we want the slash to represent itself, we must double it:

<?php $str = '\\ \\\\ \\\\\\'; // actually the string is '\ \\ \\\' ?>

The backslash is also a special character in regex. This means that inside a regex, for the slash to represent itself, it needs to be written as many as four times:

<?php echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // will output '! ! !!' ?>

Let's now write a regex where the search pattern is: backslash one or more times. In this case, we will write the operator + for as many as 4 characters before it without grouping:

<?php echo preg_replace('#\\\\+#', '!', '\\ \\\\ \\\\\\'); // will output '! ! !' ?>

Given a string:

<?php $str = 'a\\b c\\d e\\f'; ?>

Find all substrings in this string matching the pattern letter, backslash, letter.

Given a string:

<?php $str = 'a\\b c\\\\d e\\\\\\f'; ?>

Find all substrings in this string matching the pattern letter, backslash any number of times, letter.

byenru