[ Príspevkov: 13 ] 
AutorSpráva
Offline

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

Registrovaný: 26.11.06
Prihlásený: 09.10.24
Príspevky: 4118
Témy: 319 | 319
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: 3114
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ý: 09.10.24
Príspevky: 4118
Témy: 319 | 319
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


Offline

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

Registrovaný: 30.05.06
Prihlásený: 28.06.15
Príspevky: 2278
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ý: 09.10.24
Príspevky: 4118
Témy: 319 | 319
Bydlisko: HE/BA
Napísal autor témyOffline : 26.11.2008 15:14 | Nedokončené BB a BB code

Nechápem :)


Offline

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

Registrovaný: 30.05.06
Prihlásený: 28.06.15
Príspevky: 2278
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ý: 09.10.24
Príspevky: 4118
Témy: 319 | 319
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]


Offline

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

Registrovaný: 30.05.06
Prihlásený: 28.06.15
Príspevky: 2278
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ý: 09.10.24
Príspevky: 4118
Témy: 319 | 319
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: 2278
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ý: 29.03.20
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ý: 09.10.24
Príspevky: 4118
Témy: 319 | 319
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ť?


Offline

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

Registrovaný: 21.01.07
Prihlásený: 29.03.20
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

849

03.08.2009 12:32

Dzin

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

code

v CMS

3

910

08.04.2007 11:00

mokus

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

CODE

v CMS

2

968

19.08.2006 18:02

BigSnake353

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

QR code

v Krčma

16

1780

06.09.2011 22:13

br4n0

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

PHPBB CODE

v CMS

11

1414

28.05.2008 16:30

mikynqo_1441

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

Stop code

v Notebooky a netbooky

2

465

24.01.2023 17:02

Emig

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

Bar code scanner

v Ostatné

4

797

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é úložné zariadenia

1

567

10.02.2011 10:10

shiro

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

Generovat EAN CODE

v Ostatné

3

1048

25.05.2010 20:28

KViki

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

Steam Wallet code

v Hry a herné konzoly

12

511

03.05.2015 20:23

XOLOO

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

Visual studio code

v Backend

6

2459

16.02.2019 15:14

Miso122

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

Error code 0x80070103

v Windows

0

587

17.02.2010 11:34

matiseek33

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

subory z x-code

v Ostatné programy

0

196

21.02.2013 13:39

jucho29

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

STEAM - Error Code: -118

v Ostatné programy

0

747

01.03.2012 15:03

yankee141

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

BMP to binary code

v Ostatné programy

2

787

08.09.2008 15:53

apatka

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

ASUS ENGTS250 beep code

v nVidia grafické karty

4

424

18.03.2013 17:00

walther



© 2005 - 2026 PCforum, edited by JanoF