Re: [PHP] Deleting multiple backslashes; regex?

[email protected] (Jim Lucas)
Newsgroups php.general
Message-ID <[email protected]>
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.
> 
> 
> 

Might I ask, how are the multiple slashes getting generated in the first place?
 Where is the data coming from?

Next question would be: Do you want to completely remove all instances of
multiple backslashes?  Or, do you want to replace all instances of multiple
backslashes with a single backslash?

I would try something like this:

<plaintext><?php

$in = '\\\as\\\\asdf\\\asdf\asdf\\\\\asdf\\\\\asdf';

# to remove all backslashes, us this
echo preg_replace('|[\\\\]+|', '', $in).PHP_EOL;

# to remove all backslashes, us this
echo str_replace('\\', '', $in).PHP_EOL;

# to replace consecutive instances of backslashes with a single backslash
echo preg_replace('|[\\\\]+|', '\\', $in).PHP_EOL;

?>
done!


-- 
Jim Lucas
NOC Manager
541-323-9113
BendTel, Inc.
http://www.bendtel.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.