Php mysql, blogot írok, hogyan tudnám ezt megcsinálni?
Bocs, de ugye nem azt akarod, hogy mi írjuk meg helytted a rendszert?
A programozásban az a jó, hogy szinte már mindent (legalábbis az ilyen hétköznapi problémák tekintetében) leprogramozott valaki, és csak a kulcsszavakat kell megtalálni, amivel rá tudsz keresni.
A MySQL SUBSTRING_INDEX függvénye visszaadja a string azon első részét, ami az X-edik delimiter elé esik.
SUBSTRING_INDEX(string, delimiter, number)
pl. SELECT SUBSTRING_INDEX("A poszt tartalmát az adatbázisban content-ként neveztem el, az maga a bejegyzés tartalma.", " ", 2);
Ez visszaadja a második szóköz elé eső részt ("A poszt").
A SUBSTRING függvény pedig visszaadja a string start-tól kezdődő, length hosszúságú részét:
SUBSTRING(string, start, length)
pl. SELECT SUBSTRING("A poszt tartalmát az adatbázisban content-ként neveztem el, az maga a bejegyzés tartalma.", 1, 12) AS ExtractString;
Ez visszaadja a szöveg első 12 karakterét.
Ha így használod:
SELECT SUBSTRING(SUBSTRING_INDEX("A poszt tartalmát az adatbázisban content-ként neveztem el, az maga a bejegyzés tartalma.", " ", 5), 1, 128);
Akkor ez visszaadja az első 5 szót, de legfeljebb az első 128 karaktert. Mert ha a felhasználó azt írja bele a posztba, hogy "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", ez egy szó, ezt nem tudod szavakra bontani, de a SUBSTRING függvénynek hála, ez esetben is csak az első 128 karaktert kapod vissza.
Ez az alap, ebből ki lehet indulni. Aztán még át kell gondolni, hogy ez a dolog mennyire kezeli a unicode szövegeket, mert ha pont a négy bájtos karakter közepén vágja el, az nem annyira nyerő...
Aztán még arra is gondolni kell, hogy ha a posztban nem csak szöveg van, hanem mondjuk HTML is. Ez esetben a HTML-t ki kell szűrni, vagy át kell alakítani szöveggé (az <img> taget kiszűrni, az <a href> taget szöveggé alakítani, a <p>-t megint csak szöveggé...).
Most hirtelenjében ennyi jutott eszembe.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!