Strip Tags SQL

Tags:    sql php mysql

Kære udviklere,

Jeg er ved at udvikle en søgefunktion på det projekt jeg er ved at lave. Dog har jeg problemer med at søge i en tabel hvor der står html i. F.eks. har jeg en blogartikel-tabel hvor der er beskrivelser for hvert resultat. En beskrivelse ser f.eks. således ud:

Fold kodeboks ind/udKode 


Jeg kan sagtens søge efter de enkelte tekster, men ikke sammensat.

Har brugt denne metode:

Fold kodeboks ind/udPHP kode 


Jeg tænker at man med SQL kan fjerne de html-tags der findes i den streng jeg prøver at søge fra. Men ved ikke præcis hvordan.

På forhånd tak!



Indlæg senest redigeret d. 09.11.2014 14:52 af Bruger #16025
8 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Du kan gemme teksten i to versioner. En med html og en "ren" tekstversion. Ellers kan du søge på hvert søgeord separat, hvilket måske også er mere korrekt.



har du root adgang til serveren? hvis ja så prøv at opdater din mysql
Fold kodeboks ind/udKode 

http://stackoverflow.com/questions/16177465/column-count-of-mysql-proc-is-wrong-expected-20-found-16-the-table-is-probabl

ellers vil jeg gætte på det er fordi dit host ikke har sat det op, eller slået det fra.



hvis du skal lave det med sql så ville jeg nok vælge at lave det med stored procedure, så oprette en funktion som returnere din tekst uden html tags.

Fold kodeboks ind/udSQL kode 

soruce: http://forums.mysql.com/read.php?52,177343,177985#msg-177985

Fold kodeboks ind/udPHP kode 


men er nok også mere til Roberts version.



Jeg har kigget på dit eksempel, Kenneth. Fandt selv det samme link. Og har arbejdet med stored procedure i MSSQL. Men hvordan foregår dette når det er med mysql? Er det ligesom det her?:

Fold kodeboks ind/udPHP kode 






du skal bare eksekvere sql'en så opretter den en function som bliver gemt i din database, så kan du kalde den function når du skal bruge den.



Føler mig lidt dum nu - er ikke helt sikker på hvordan man eksekvere sql'en i phpmyadmin. Jeg har prøvet at bruge den alm. funktion til at køre sql med, i phpmyadmin under fanen "SQL". Der kommer fejl.

Ud fra det eksempel du kom med, får jeg denne fejlmeddelelse.
Fold kodeboks ind/udKode 


Er helt blank.



Ser ud til at jeg ikke har adgang til root på denne her server da det er en test-server. Jeg bruger lige pt. udbyderen 000webhost.com som problemet også er i det link du sendte. Men det vil jeg kigge nærmere på. Tak for hjælpen :)



Endnu en ting...hvis du går efter en stored procedure skal du lige være opmærksom på, at det performer ringere da du ikke kan indeksere resultatet (tager jeg fejl?).
Så hvor du ellers har muligheden for at trække resulatet ud fra et index, vil du være nødt til at lave et fuldt table scan. Hvis det er en lille database, er det så ikke nødvendigvis noget problem.

Kig evt. her for MySQLs full text search funktionalitet: http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html



t