Re: Deleting multiple backslashes; regex?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2010-03-15 at 15:03 -0400, Al wrote:

> Anyone have a regex pattern for deleting multiple backslashes e.g., \\\\\\\
> 
> I pretty good with regex; but, be damned if I can delete them with preg_replace()
> 
> I've tried "\\\\" as the manual says
> 
> preg_replace("/\\\\/", '', $str);
> 
> preg_replace("/(\\\\)+/", '', $str);
> 
> preg_replace("/\x5C/", '', $str);
> 
> preg_replace("/\\x5c/", '', $str);
> 
> And lots of others.
> 
> stripslashes() and stripcslashes() are limited.
> 
> 
> 


What about this:

$str = 'text\\dfnfg\\dhdsg\\\\';
echo preg_replace('/\\\{2,}/', '', $str);

I think what was catching you out was that you were escaping the \ once
for the regex, but then it needed it again because it was in a single
quoted string, meaning 3 slashes in total. Took me a little while to
figure that out as well!

The {2,} part just tells it to only remove the slashes where they occur
in runs of two or more.

Thanks,
Ash
http://www.ashleysheridan.co.uk



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux