Kezdőoldal » Számítástechnika » Programozás » Php mysql, blogot írok,...

Php mysql, blogot írok, hogyan tudnám ezt megcsinálni?

Figyelt kérdés
A poszt tartalmát az adatbázisban content-ként neveztem el, az maga a bejegyzés tartalma. Hogyan tudnám megcsinálni, hogy a blog összes posztja között legyen egy "előnézete" a szövegnek? Tehát mikor pl, hogy "A sajt elkészülte után... [Kattintson ide az olvasáshoz]" részt hogyan lehetne megcsinálni?
2019. jan. 22. 22:42
 1/4 anonim ***** válasza:
Lekéred a content első X karakterét, vagy szavát (egybeírt szavakra figyelni kell).
2019. jan. 22. 23:05
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
Értem, és hogyan tudom limitálni a lekerendo szavakat?
2019. jan. 23. 22:43
 3/4 anonim ***** válasza:

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.

2019. jan. 24. 08:43
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:
(Élő példaként láthatod, hogy figyelni kell az ilyen apróságokra, mint a tördelés, különben nem várt eredmény lesz a vége...).
2019. jan. 24. 08:47
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!