Re: Mysql search html tags excluded

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2010-06-04 at 15:00 +0300, Tanel Tammik wrote:

> "Ashley Sheridan" <ash@xxxxxxxxxxxxxxxxxxxx> wrote in message 
> news:1275652880.2217.54.camel@xxxxxxxxxxxx
> > On Fri, 2010-06-04 at 14:54 +0300, Tanel Tammik wrote:
> >
> >> "Ashley Sheridan" <ash@xxxxxxxxxxxxxxxxxxxx> wrote in message
> >> news:1275652342.2217.51.camel@xxxxxxxxxxxx
> >> > On Fri, 2010-06-04 at 14:44 +0300, Tanel Tammik wrote:
> >> >
> >> >> "Ashley Sheridan" <ash@xxxxxxxxxxxxxxxxxxxx> wrote in message
> >> >> news:1275651371.2217.46.camel@xxxxxxxxxxxx
> >> >> > On Fri, 2010-06-04 at 14:12 +0300, Tanel Tammik wrote:
> >> >> >
> >> >> >> Hello,
> >> >> >>
> >> >> >> if there is some webpage content with html tags in database is it
> >> >> >> possible
> >> >> >> to search it without tags?
> >> >> >>
> >> >> >> data : '<div style="">you need some styling!</div>'
> >> >> >>
> >> >> >> when i now search for 'you style' i don't want to get any rows! is 
> >> >> >> it
> >> >> >> possible?
> >> >> >> when i search 'you styling' i get the row!
> >> >> >>
> >> >> >> Br
> >> >> >> Tanel
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >
> >> >> >
> >> >> > Use a second field in the DB that stores the content without any 
> >> >> > HTML
> >> >> > tags. That way, you can search and not worry about tags and 
> >> >> > attribute
> >> >> > values getting in the way.
> >> >> >
> >> >> > Thanks,
> >> >> > Ash
> >> >> > http://www.ashleysheridan.co.uk
> >> >> >
> >> >> >
> >> >> >
> >> >>
> >> >> Is this the only way? Couldn't i do it in mysql query? Seems much
> >> >> cleaner...
> >> >>
> >> >> Br,
> >> >> Tanel
> >> >>
> >> >>
> >> >>
> >> >
> >> >
> >> > You could try and do it in MySQL with a regex to filter out the HTML
> >> > tags. The regex would be real complex though, and prone to failure if
> >> > the HTML wasn't perfectly formed. And it would be a *lot* slower than
> >> > searching a plain text field. I think it's far cleaner to use a second
> >> > field like that.
> >> >
> >> > Thanks,
> >> > Ash
> >> > http://www.ashleysheridan.co.uk
> >> >
> >> >
> >> >
> >> OK! then i should use preg_replace before making the serch entry for DB
> >> storage? What would be the regular expression for that? Basically i need 
> >> to
> >> get rid everything between the html tags with tags included?
> >>
> >> Br
> >> Tanel
> >>
> >>
> >>
> >
> >
> > No, you'd have to use a regex within MySQL, not PHP. Like I said, it
> > would be very complex, and I wouldn't know where to begin writing a
> > query that would search for specific strings and ignore any content
> > within the < & > without writing sub-queries.
> >
> > Also, you did see that I said it would be a lot slower didn't you?
> > Imagine at the moment a query is taking a second to complete. With this
> > sort of complex regex it could take maybe 5 seconds. That's 5 seconds
> > per person searching.
> >
> > Are you not able to make a second field in the DB?
> >
> > Thanks,
> > Ash
> > http://www.ashleysheridan.co.uk
> >
> >
> >
> 
> Yes i can. You misunderestood me or i didn't express myself correctly. how 
> can i get rid of the tags before entering the data into the second field 
> created for search engine?
> 
> 
> 
> Br
> Tanel 
> 
> 
> 


Ah right. Use strip_tags(). As long as the HTML is well-formed and
doesn't contain any malformed tags it should remove them correctly.

Thanks,
Ash
http://www.ashleysheridan.co.uk



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux