Problem with regular expression


i have problem with regular expression in php..
suppose i want to create a search facility..
when user entered, for example : "artist+korean+pop",
it will begin a search using these 3 words as a keywords.

My problem is.. i don't know how to form a regular expression that match these criterias...
For that example, i will form "(artist|korean|pop)+(artist|korean|pop)+(artist|korean|pop)+".

Very silly heh? if there're 10keywords, it will grow too...
could somebody help me,plz...
Who is Participating?
venkateshwarrConnect With a Mentor Commented:
The above loop checks if each individual pattern keyword is present in the string.....

So what you have to do is "artist+korean+pop"
while searching a string if you find a keyword "korean" the check the next two keywords in the string for "artist" and "pop"
similarly if you find "pop" check the next two keywords for "artist" and "korean"

Of course you have to automate this for any number of keywords...


Why dont you match inidividual strings in a loop

$strs = split(" ", "artist korean php");

       //match pattern with $strs[$i];

winartAuthor Commented:
that's not what i want..

the pattern "artist+korean+pop" means :
1. these string : "artist korean pop" is match.
2. string : "korean artist pop" is match too!
3. string : "pop artist korean" is match too!

i bet your solution just worked for the 1st possibilities,right?

thx anyway..
winartAuthor Commented:
that's my problem!

i think it is very silly to create a looping for thing like that..
cause there'll be too many possibilities..
there a simpler approach, right?
by using regular expression...

winartAuthor Commented:

i've found the answer..
by using RE.
anyway, thx for helping me..

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.