Kako složiti regularni izraz za BB kodove?

157 pogleda
Mario Daka pitano 15.02.2014. u kategoriji Web Programiranje od korisnika Mario Daka Superaktivan (7,333 bodova)

Kod programiranja web-aplikacije u php-u tebao bih blob polje iz mysql baze izvučeno kao string parisrati kroz neki regexp (regularni izraz) kako bi BB kodove pretvorio u HTML. Može pomoć?

Ovo su BB-kodovi koje treba pretvoriti u HTML:

  • [b]bold[/b] -> <strong>bold</strong>
  • [i]italic[/i] -> <i>italic</i>
  • [url=http //nesto.hr]nesto[/url] -> <a href="http //nesto" target="_blank">nesto</a>
  • [img=http //nesto.hr/slika.jpg] -> <img src="http //nesto.hr/slika.jpg">
  • ...

Ako dobijem odgovor za ovo, lako ću dalje.

1 odgovor

+3 glasova
Hrvoje odgovoreno 16.02.2014. od korisnika Hrvoje Superaktivan (5,824 bodova)
selected 26.03.2014. od korisnika Mario Daka
 
Najbolji odgovor

Evo pokazati ću ti primjer u PHP-u, a pitaj ako ti nešto nije jasno. No mislim da je tu sve više manje jasno.

function parseBBcodes($txt)
{
   // ajde da prvo očistimo taj html
   $ret = strip_tags($txt);
    
   // primjena regexp-a za (neke) BB-kodove
   $ret = preg_replace('#\[b\](.+)\[\/b\]#iUs', '<b>$1</b>', $ret);
   $ret = preg_replace('#\[link\=(.+)\](.+)\[\/link\]#iUs', '<a href="$1">$2</a>', $ret);
   $ret = preg_replace('#\[img\](.+)\[\/img\]#iUs', '<img src="$1" alt="Slika" />', $ret); 
   $ret = preg_replace('#\[quote\=(.+)\](.+)\[\/quote]#iUs', '<div class="quote">$2</div><div class="quote-by">Od: $1</div>', $ret);
 
   // vrati čisti html
   return $ret;
}
Mario Daka commented 26.03.2014. od korisnika Mario Daka Superaktivan (7,333 bodova)
Radi! Predobro!

Slična pitanja

1 odgovor 213 pogleda
2 odgovora 1,248 pogleda
Zoran pitano 25.01.2014. u kategoriji Web Dizajn od korisnika Zoran Superaktivan (4,415 bodova)
1 odgovor 111 pogleda
Mario Daka pitano 01.07.2014. u kategoriji Web Poslovanje od korisnika Mario Daka Superaktivan (7,333 bodova)
1 odgovor 100 pogleda
1 odgovor 98 pogleda
Goran Dren pitano 21.03.2014. u kategoriji Web Hosting od korisnika Goran Dren Superaktivan (3,893 bodova)
0 odgovora 346 pogleda
1 odgovor 139 pogleda
Znatko

Znatko je edukativni web servis online zajednice za pretraživanje pitanja, postavljanje pitanja i odgovaranje na pitanja.

..:: POSTAVITE PITANJE ::..

Znatko Vam može pomoći!

2,046 pitanja

2,664 odgovora

1,319 komentara

703 korisnika

Gdje pratiti Znatka?

Koga preporuča Znatko?



Web::Edukacija

CISEx

Kontaktirajte Znatka kako biste mogli i Vi postati preporučeni partneri te sudjelovati u mjesečnom nagradnom fondu!
...