Autor | Zpráva | ||
---|---|---|---|
blizzboz Profil |
#1 · Zasláno: 26. 2. 2010, 05:36:59
ako odstrániť HTML tagy z textu, počas procesu vyhľadávania priamo v databáze? potrebujem aby sa vyhľadávalo v texte ktorý neobsahuje HTML značky to znamená že na odstránenie nemôžem použiť skripty.
|
||
nightfish Profil |
#2 · Zasláno: 26. 2. 2010, 07:14:35
vytvořit si ještě jeden sloupec, ve kterém bude uložen text bez HTML tagů (a ten plnit při ukládání do db)
|
||
blizzboz Profil |
#3 · Zasláno: 26. 2. 2010, 10:47:23
nightfish:
ale ja už tam mám na obsah 2 stĺpce jeden na Texy(Markdown, Textile) a druhý na čisté HTML. To mám len kôli vyhľadávaniu vytvárať ďalší stĺpec typu TEXT neni to trošku mrhanie miestom v databáze? Keď bude v CMSku uložených niekoľko tisíc článkov tak to bude dosť veľký rozdiel. |
||
blizzboz Profil |
#4 · Zasláno: 26. 2. 2010, 11:18:39
btw teraz som našiel túto uloženú procedúru:
DELIMITER $$ DROP FUNCTION IF EXISTS `do1618403db`.`strip_tags` $$ CREATE FUNCTION `do1618403db`.`strip_tags` (x LONGTEXT) RETURNS LONGTEXT BEGIN DECLARE sstart INT UNSIGNED; DECLARE ends INT UNSIGNED; SET sstart = LOCATE('<', x, 1); REPEAT SET ends = LOCATE('>', x, sstart); SET x = CONCAT(SUBSTRING( x, 1 ,sstart -1) ,SUBSTRING(x, ends +1 )) ; SET sstart = LOCATE('<', x, 1); UNTIL sstart < 1 END REPEAT; return x; END $$ DELIMITER ; a funguje to, najprv sa zavolá uložená procedúra a až jej výsledok sa testuje na hľadaný výraz príkazom like len sa chcem spýtať či to neni mrhanie výkonom. |
||
Joker Profil |
#5 · Zasláno: 26. 2. 2010, 11:58:50
blizzboz:
„len sa chcem spýtať či to neni mrhanie výkonom“ Spíš to nemusí být spolehlivé ve všech situacích. |
||
Kajman_ Profil * |
#6 · Zasláno: 26. 2. 2010, 12:21:55
Zabraný diskový prostor bude asi menší zlo než zvýšené nároky na paměť a procesor. Navíc si na uložené verzi můžete zřídit fulltextový index.
|
||
blizzboz Profil |
#7 · Zasláno: 26. 2. 2010, 13:38:09
Joker:
nemusí to je pravda, hlavne keď niekto používa špicaté zátvorky namiesto HTML entít. ja ale text do DB vkladám cez formatter takže sa špicaté zátvorky automaticky konvertujú na entity Kajman: vraj uložené procedúry sú celkom rýchle pretože sú v databáze predkompilované ale určite uložiť text bez HTML je najrýchlejšie akurát neviem či kôli vyhľadávaniu v DB má zmysel pridávať tam ďalší stĺpec. |
||
nightfish Profil |
#8 · Zasláno: 26. 2. 2010, 14:13:51
blizzboz:
„kôli vyhľadávaniu v DB má zmysel pridávať tam ďalší stĺpec.“ už jenom kvůli možnosti využití indexu (fulltext) ano |
||
Časová prodleva: 14 let
|
0