im making a simple word game with php and regex, how can we search that if a string have to require two or more words?
lets say
\"cat\"
\"dog\"
\"play\"
The regex you're looking for is:
/(?=.*?\bcat\b)(?=.*?\bdog\b)(?=(.*?\bplay\b){2})^.*$/
Explanation: I believe words cat
, dog
and play
(twice) can appear in the text in any order but they must all be present in the sentence to qualify. Above regex is using positive lookahead to make sure the presence of above conditions.
Here is the online working demo of above RegEx
Try preg_match_all(/cat.+dog(.+play){2}/i,$str,$out);