[ Príspevkov: 13 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Nedokončené BB a BB code

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
NapísalOffline : 26.11.2008 14:15 | Nedokončené BB a BB code

Čavte, mám dve otázky/probémy:


1; Používam jednuché BB tagy a systém na ich zámenu za HTML (nie tento http://www.pcforum.sk/uzitocne-a-casto- ... tml#425092 - vytvoril som si vlastný) Problém je v tom, že niekedy potrebujem orezať text a stáva sa že text vyzerá asi takto:
Kód:
[b]Dlhší text, napríklad 100slov[/b]
Ja to ale potrebujem vypísať tak aby mi ukázalo len 50slov a tým pádom ostane tag [b], resp. <b> otvorený(výsledok:
Kód:
[b]Dhlší text, napríklad 50...
) a všetko je potom hrubé aj to čo nemá byť. Teda ako to automaticky uzavriem pri výpise?

2; Druhá vec je ako urobiť aby mi v tagu [code] nemenilo ostatné tagy, teda tak ako je to napr teraz aj v tomto príspevku vyššie :)

Vopred vďaka :)


Offline

Užívateľ
Užívateľ
Nedokončené BB a BB code

Registrovaný: 09.09.07
Prihlásený: 07.11.16
Príspevky: 3128
Témy: 233 | 233
Bydlisko: Nové Zámky
NapísalOffline : 26.11.2008 14:45 | Nedokončené BB a BB code

daj sem tvoj script na tu zamenu...
asi zle zamienas tie tagy


_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
Offline

Užívateľ
Užívateľ
Nedokončené BB a BB code

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
Napísal autor témyOffline : 26.11.2008 15:12 | Nedokončené BB a BB code

Zle si pochopil :) ja sa nesťažujem , že mi to nejde, ja sa sťažujem, že neviem ako to urobiť :) prečítaj si to ešte raz


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Užívateľ
Užívateľ
Nedokončené BB a BB code

Registrovaný: 30.05.06
Prihlásený: 28.06.15
Príspevky: 2294
Témy: 45 | 45
Bydlisko: ZA
NapísalOffline : 26.11.2008 15:13 | Nedokončené BB a BB code

vytiahni si pomocou regexpu samotny text a iba ten skrat


Offline

Užívateľ
Užívateľ
Nedokončené BB a BB code

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
Napísal autor témyOffline : 26.11.2008 15:14 | Nedokončené BB a BB code

Nechápem :)


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Užívateľ
Užívateľ
Nedokončené BB a BB code

Registrovaný: 30.05.06
Prihlásený: 28.06.15
Príspevky: 2294
Témy: 45 | 45
Bydlisko: ZA
NapísalOffline : 26.11.2008 15:22 | Nedokončené BB a BB code

v php nerobim, ale napadlo ma to asi tak, ze nahradis cely string takto
'[b]blablablaaablaaaa[\b]' -> <font>blabla</font>
teda v kode
/\[b\](.+?)\[\/b\]/ -> skratis $1 -> '<font class="xxx">($1)</font>'

narychlo nacmarane...


Offline

Užívateľ
Užívateľ
Nedokončené BB a BB code

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
Napísal autor témyOffline : 26.11.2008 15:31 | Nedokončené BB a BB code

Až na to, že niekedy tam ten BB tag vôbec nieje a niekedy ich je 5 a nie len <font>, či [b]


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Užívateľ
Užívateľ
Nedokončené BB a BB code

Registrovaný: 30.05.06
Prihlásený: 28.06.15
Príspevky: 2294
Témy: 45 | 45
Bydlisko: ZA
NapísalOffline : 26.11.2008 15:34 | Nedokončené BB a BB code

tak si spravis pre kazdy bbtag samostatny regexp a das to do podmienky kde bude osetreny aj pripad, ze sa tam ziadny bbtag nenachadza:-D


Offline

Užívateľ
Užívateľ
Nedokončené BB a BB code

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
Napísal autor témyOffline : 26.11.2008 15:37 | Nedokončené BB a BB code

Sry, ale regexp neovládam a na php.net nemôžem nájsť túto funkciu :)

//EDIT: Spravil som to inak, síce trošku lamersky, a nie podľa štandardov ale nevadí :)


Offline

Užívateľ
Užívateľ
Nedokončené BB a BB code

Registrovaný: 30.05.06
Prihlásený: 28.06.15
Príspevky: 2294
Témy: 45 | 45
Bydlisko: ZA
NapísalOffline : 26.11.2008 15:54 | Nedokončené BB a BB code

hod sem kod


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.01.07
Prihlásený: 30.11.14
Príspevky: 660
Témy: 53 | 53
NapísalOffline : 28.11.2008 19:49 | Nedokončené BB a BB code

Ja (by) som to riešil tak, že po ozeraní premeníš BB Code na html a potom už len odstrániť všetky výrazy v texte ako [b], [u] a pod. ktoré nemajú pár ([i] bez [/ i]...).

Kód:
[b]Toto [u]bude[/u] veľmi dlhý text, ktorý nevyhovuje tvojej podmienke.[/b]


Orežeš:
Kód:
[b]Toto [u]bude[/u] veľmi dlhý text, ktorý nevy


Zmeníš na html (iba párové):
Kód:
[b]Toto <u>bude</u> veľmi dlhý text, ktorý nevy


Odstrániš nadbytočné BBCode:
Kód:
Toto <u>bude</u> veľmi dlhý text, ktorý nevy


Offline

Užívateľ
Užívateľ
Nedokončené BB a BB code

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
Napísal autor témyOffline : 28.11.2008 19:59 | Nedokončené BB a BB code

A ako zistím, čo je párove, resp. ako to odstrániť?


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.01.07
Prihlásený: 30.11.14
Príspevky: 660
Témy: 53 | 53
NapísalOffline : 28.11.2008 21:22 | Nedokončené BB a BB code

Priamo funkcia uvedená v téme Užitočné a často používané skripty je funkcia na BBCode a tam sa to dá v podstate vidieť:

Kód:
function bbcode($str)
{
   $BBCode = array("/\[b\](.*)\[\/b\]/is", "/\[u\](.*)\[\/u\]/is", "/\[i\](.*)\[\/i\]/is", "/\[url\=(.*?)\](.*?)\[\/url\]/is");
   $BBTag = array("<strong>$1</strong>", "<u>$1</u>", "<i>$1</i>", "<a href=\"$1\" target=\"_blank\" rel=\"nofollow\">$2</a>");

   $str = preg_replace($BBCode, $BBTag, $str);
   return $str;
}


Konkrétny príklad na preg_replace:

Kód:
$mojtext = 'Ahoj [b]svet[/b] môj [b]prenádherný';
$text = preg_replace('/\[b\](.*)\[\/b\]/is', '<b>$1</b>', $mojtext);


Výsledok:
Kód:
Ahoj <b>svet</b> môj [b]prenádherný


Následne nadbytočné BBCode odstrániš pomocou str_replace:

Kód:
$text = str_replace('[b]', '', $text);
$text = str_replace('[/b]', '', $text);


 [ Príspevkov: 13 ] 


Nedokončené BB a BB code



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Nedokoncene formatovanie HDD pri instal Win XP

v Pevné disky a radiče

4

554

03.08.2009 12:32

Dzin

V tomto fóre nie sú ďalšie neprečítané témy.

CODE

v Redakčné systémy

2

698

19.08.2006 18:02

BigSnake353

V tomto fóre nie sú ďalšie neprečítané témy.

code

v Redakčné systémy

3

609

08.04.2007 11:00

mokus

V tomto fóre nie sú ďalšie neprečítané témy.

QR code

v Krčma

16

1046

06.09.2011 22:13

br4n0

V tomto fóre nie sú ďalšie neprečítané témy.

PHPBB CODE

v Redakčné systémy

11

779

28.05.2008 16:30

mikynqo_1441

V tomto fóre nie sú ďalšie neprečítané témy.

Steam Wallet code

v Počítačové hry

12

170

03.05.2015 20:23

XOLOO

V tomto fóre nie sú ďalšie neprečítané témy.

Error code 0x80070103

v Operačné systémy Microsoft

0

260

17.02.2010 11:34

matiseek33

V tomto fóre nie sú ďalšie neprečítané témy.

Bar code scanner

v Ostatné

4

499

28.08.2009 13:13

László145

V tomto fóre nie sú ďalšie neprečítané témy.

Code error 43

v Ostatné zariadenia

1

298

10.02.2011 10:10

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Generovat EAN CODE

v Ostatné

3

765

25.05.2010 20:28

KViki

V tomto fóre nie sú ďalšie neprečítané témy.

Code::blocks pomoc debugger

v Assembler, C, C++, Pascal, Java

3

657

23.09.2009 16:52

pizet

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

Minecraft - gift code generator

v Počítačové hry

2

720

09.08.2012 0:09

jtbs

V tomto fóre nie sú ďalšie neprečítané témy.

Vyhladavanie v source code

v Ostatné

9

167

30.05.2014 13:08

neopagan

V tomto fóre nie sú ďalšie neprečítané témy.

OpenGL Error Code 3

v nVidia grafické karty

1

109

29.12.2013 21:57

MoonDreams

V tomto fóre nie sú ďalšie neprečítané témy.

Skrytý [code] pre nezaregistrovaných

v Redakčné systémy

3

504

26.07.2010 11:55

Tino77

V tomto fóre nie sú ďalšie neprečítané témy.

subory z x-code

v Ostatné programy

0

25

21.02.2013 13:39

jucho29



© 2005 - 2017 PCforum, edited by JanoF