I want to find all the demo words using PHP and regEx.
$input ='demo';
$pattern = ''; //$input can be used along with regex, please help here
$text = 'This is dem*#o text, contains de12mo3 text, is .demo23* text'
if(preg_match($pattern, $text))
{
echo 'found';
}else{
echo'not found';
}
the search word demo in the text may be present in the following format
1) may start with special characters/numbers Eg. "12*demo"
2) may contain special characters/numbers within the word Eg. "de12*mo"
3) may end with special characters/numbers Eg. "demo12*"
please help I am stuck,
thanks in advance!
Note: The $input can be max. of 15 in length
The Solution
I would start by removing all special characters and numbers from the string, and then matching the word using word boundaries:
Will give you (Codepad Demo):
Explanation
The first line replaces any characters in your string (called the subject argument) that match
/[a-z ]+/iwith ”, essentially removing the characters. The regex matches any character (or group of characters) that is not (^) the lettersa-zor a space. Theiflag tells regex that the search should be case insensitive (This saves us from writinga-zA-Z).The next line uses word boundaries to match the word ‘demo’. However, you could substitute in any word.
New Regex Techniques
preg_replace()preg_match_all()