Autor | Zpráva | ||
---|---|---|---|
Los Profil * |
#1 · Zasláno: 8. 2. 2007, 09:58:37
Bry ranko,
rad bych si vytahl z clanku prvnich 100 znaku, to by nebyl problem, ale vetsinou obsahuje HTML tagy ( obrazky, ztucneni, odkazy ... ) a nevim jak toho docilit aby mi to treba nejaky parovy tag nejak osklive nerozseklo. Dik |
||
Joker Profil |
#2 · Zasláno: 8. 2. 2007, 10:18:13
Blbě.
Co značky odstranit? Nebo jak by ten systém řešil, když udělám třeba: <div> *text o 300 znacích* </div> To by leda musel procházet ten HTML kód, a otevřené značky automaticky uzavřít. |
||
gwh Profil |
#3 · Zasláno: 8. 2. 2007, 10:59:20
Radši zapisuj perex zvlášť. Tenhle problém jsem také řešil a imho je stokrát lepší tvořit zvlášť perex a zvlášť článek.
|
||
krteczek Profil |
#4 · Zasláno: 8. 2. 2007, 11:20:41
nebo vytahovat perex z článku, ale před zformátováním do html (z článku v Texy! syntaxi například), záleží na konkrétní situaci.
|
||
Los Profil * |
#5 · Zasláno: 8. 2. 2007, 11:37:30
No jak to rict, uzivatele do fora a k clankum pisou komentare a maji moznost je obohatit smajliky ci odkazem ci ztucnenim textu ( aka BBCode)
A ja chci udleat perexovy vypis poslednich X komentaru a nechci to ochudit o tagy. Nekdo kolikrat vlozi do komentare jen smajlika nebo odkaz. A ja to proste chci zobrazovat. Takze pokud nekdo vi at poradi. |
||
habendorf Profil |
#6 · Zasláno: 8. 2. 2007, 11:40:32
Asi ti nezbude nic jiného, než co říká Joker. Hlídat si tagy a případně je na konci pozavírat.
|
||
krteczek Profil |
#7 · Zasláno: 8. 2. 2007, 11:49:40
Navíc nesmíš zapomenout na to, že tag nesmíš utnout někde uprostřed!!!
<tag parametr="neco"> nesmí být urván jinak se ti může stát že zhavaruješ stránku |
||
Joker Profil |
#8 · Zasláno: 8. 2. 2007, 12:05:55
Los
Tak v tom případě asi nezbude, než napsat skript, který ten kód zpracuje. Udělejte si zásobník značek, při každém otevření značky jí uložte do zásobníku a při uzavření stejné zase odeberte. Zároveň definujte příznak, jestli jste zrovna uvnitř otevřené značky a pokud narazíte na limit počtu znaků uvnitř otevřené značky, musíte text useknout před začátkem té značky. Příznak otevřené značky je snadný v HTML, všechno mezi < a > je značka. V BBCode je to horší, pokud jako BBCode berete jenom některé značky a všechno ostatní, třeba [nějaký text] zobrazujete normálně jako text. Pak pokud vyjde limit počtu znaků zrovna dovnitř něčeho takového, budete asi muset dojet k nejbližší "]", pak vyhodnotit jestli ten vnitřek dává dohromady značku, pokud ano, useknout to před ní a pokud ne, useknout to uprostřed. |
||
Joker Profil |
#9 · Zasláno: 8. 2. 2007, 12:13:51
Poznámka:
Akorát přístup, že v případě dosažení limitu uvnitř značky se automaticky usekne před začátkem té značky bude mít negativum v tom, že pokud bude příspěvek začínat třeba: <a href="*velice dlouhý odkaz*">tady</a> se píše, že... bude perex prázdný řetězec. Zabránit by se tomu dalo tak, že ten interpreter kódu si bude zároveň ukládat, jak bude vypadat výsledný text a bude počítat useknutí podle výsledného textu a ne podle kódu. Takže pokud budete mít značku pro odkaz třeba [link], tak text [link="http://www.google.com"]google[/link] by se započítával do počtu znaků jenom jako text "google". Tak, to by snad teoreticky bylo. Ale napsat to nebude tak úplně snadné ;-) |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0