If my string is : aud\\ios
, how do i check it out for the presence of \\
in it?
I tried using preg_match(\'\\\\\' , $string)
but
For something simple as this, you don't need a regular expression. A string function like strpos() should be enough:
if (strpos('aud\ios', '\\') !== FALSE) {
// String contains '\'
}
Note that you need to escape the backslash here. If you simply write \
, then PHP considers it as an escape sequence and tries to escape the character that follows. To avoid this, you need to escape the escape using another backslash: \\
.
As for matching a literal backslash using a preg_*
function, you'll need to use \\\\
instead of a single \
.
From the PHP manual documentation on Escape Sequences:
Single and double quoted PHP strings have special meaning of backslash. Thus if
\
has to be matched with a regular expression\\
, then"\\\\"
or'\\\\'
must be used in PHP code.
So your code would look like:
preg_match('/\\\\/', $string); // Don't use this though
where:
/
- starting delimiter\\\\
- matches a single literal \
/
- ending delimiterFor additional information about this, see:
I use this function a lot, you can easily check if a string
contains
function StringContains($the_string,$contains)
{
return strpos($the_string, $contains) !== FALSE;
}
check it out: http://3v4l.org/LrDBd
of course you have to escape the backslash when calling the function like this
StringContains('aud\ios','\\');
if (strstr('aud\ios', '\\') !== false) {
//Contains "\"
}