Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- /**
- * Description of BBCode
- *
- * @author fabi0
- */
- namespace Models;
- class Bb {
- /**
- *
- * @var type
- */
- private static $_search = array(
- '~\[hr\]~s',
- '~\[b\](.*?)\[/b\]~s',
- '~\[i\](.*?)\[/i\]~s',
- '~\[u\](.*?)\[/u\]~s',
- '~\[quote\](.*?)\[/quote\]~s',
- '~\[size=(.*?)\](.*?)\[/size\]~s',
- '~\[color=(.*?)\](.*?)\[/color\]~s',
- '~\[url\]((?:ftp|https?)://.*?)\[/url\]~s',
- '~\[img\](https?://.*?\.(?:jpg|jpeg|gif|png|bmp))\[/img\]~s',
- '~\[p\](.*?)\[/p\]~s',
- '~\[youtube\](.*?)\[/youtube\]~s',
- );
- private static $_replace = array(
- '<hr/>',
- '<b>$1</b>',
- '<i>$1</i>',
- '<span style="text-decoration:underline;">$1</span>',
- '<pre>$1</pre>',
- '<span style="font-size:$1px;">$2</span>',
- '<span style="color:$1;">$2</span>',
- '<a href="$1">$1</a>',
- '<img src="$1" alt="" />',
- '<p>$1</p>',
- '<iframe width="560" height="315" src="//www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>',
- );
- private $_emoticonsPath;
- private $_simpleReplace = array(
- '[hr]' => '<hr/>',
- '[b]' => '<strong>',
- '[/b]' => '</strong>',
- '[i]' => '<em>',
- '[/i]' => '</em>',
- '[p]' => '<p>',
- '[/p]' => '</p>',
- '[/i]' => '</em>',
- // Angel Icon
- array(
- 'icon_cases' => array(
- '(angel)'
- ),
- 'icon_name' => 'angel'
- ),
- //Angry Icon
- array(
- 'icon_cases' => array(
- ':@',
- ':-@',
- ':=@',
- 'x(',
- 'x-(',
- 'X(',
- 'X-(',
- 'x=(',
- 'X=(',
- '(angry)'
- ),
- 'icon_name' => 'angry'
- ),
- // Bandit Icon
- array(
- 'icon_cases' => array(
- '(bandit)'
- ),
- 'icon_name' => 'bandit'
- ),
- // Headbang Icon
- array(
- 'icon_cases' => array(
- '(headbang)',
- '(banghead)'
- ),
- 'icon_name' => 'headbang'
- ),
- // Beer Icon
- array(
- 'icon_cases' => array(
- '(beer)'
- ),
- 'icon_name' => 'beer'
- ),
- // Big Smile Icon
- array(
- 'icon_cases' => array(
- ':D',
- ':-D',
- ':=D',
- ':d',
- ':-d',
- ':=d',
- '(laugh)'
- ),
- 'icon_name' => 'bigsmile'
- ),
- // Blush Icon
- array(
- 'icon_cases' => array(
- '(blush)',
- ':$',
- ':-$',
- ':=$',
- ':”>'
- ),
- 'icon_name' => 'blush'
- ),
- // Bow Icon
- array(
- 'icon_cases' => array(
- '(bow)'
- ),
- 'icon_name' => 'bow'
- ),
- // Broken Heart Icon
- array(
- 'icon_cases' => array(
- '(brokenheart)',
- '(u)',
- '(U)'
- ),
- 'icon_name' => 'brokenheart'
- ),
- // Bug Icon
- array(
- 'icon_cases' => array(
- '(bug)',
- ),
- 'icon_name' => 'bug'
- ),
- // Cake Icon
- array(
- 'icon_cases' => array(
- '(^)',
- '(cake)',
- ),
- 'icon_name' => 'cake'
- ),
- // Call Icon
- array(
- 'icon_cases' => array(
- '(call)',
- ),
- 'icon_name' => 'call'
- ),
- // Cash Icon
- array(
- 'icon_cases' => array(
- '(cash)',
- '(mo)',
- '($)',
- ),
- 'icon_name' => 'cash'
- ),
- // Clapping Icon
- array(
- 'icon_cases' => array(
- '(clap)',
- ),
- 'icon_name' => 'clapping'
- ),
- // Coffee Icon
- array(
- 'icon_cases' => array(
- '(coffee)',
- ),
- 'icon_name' => 'coffee'
- ),
- // Cool Icon
- array(
- 'icon_cases' => array(
- '(cool)',
- '8)',
- '8-)',
- '8=)',
- 'B)',
- 'B-)',
- 'B=)',
- ),
- 'icon_name' => 'cool'
- ),
- // Crying Icon
- array(
- 'icon_cases' => array(
- '(cry)',
- ';(',
- ';-(',
- ';=(',
- ':(',
- ':-(',
- ':=(',
- ),
- 'icon_name' => 'crying'
- ),
- // Dancing Icon
- array(
- 'icon_cases' => array(
- '(dance)',
- 'o/',
- ':D/',
- ':d/',
- ),
- 'icon_name' => 'dance'
- ),
- // Devil Icon
- array(
- 'icon_cases' => array(
- '(devil)',
- ),
- 'icon_name' => 'devil'
- ),
- // Doh Icon
- array(
- 'icon_cases' => array(
- '(doh)',
- ),
- 'icon_name' => 'doh'
- ),
- // Drink Icon
- array(
- 'icon_cases' => array(
- '(drink)',
- '(d)',
- '(D)',
- ),
- 'icon_name' => 'drink'
- ),
- // Drunk Icon
- array(
- 'icon_cases' => array(
- '(drunk)',
- ),
- 'icon_name' => 'drunk'
- ),
- // Dull Icon
- array(
- 'icon_cases' => array(
- '(dull)',
- '|-(',
- '|(',
- '|=(',
- ),
- 'icon_name' => 'dull'
- ),
- // Emo Icon
- array(
- 'icon_cases' => array(
- '(emo)',
- ),
- 'icon_name' => 'emo'
- ),
- // Envy Icon
- array(
- 'icon_cases' => array(
- '(envy)',
- ),
- 'icon_name' => 'envy'
- ),
- // Evil Grin Icon
- array(
- 'icon_cases' => array(
- '(grin)',
- '>:)',
- ']:)',
- ),
- 'icon_name' => 'evilgrin'
- ),
- // Middle Finger Icon
- array(
- 'icon_cases' => array(
- '(finger)',
- ),
- 'icon_name' => 'middlefinger'
- ),
- // Flower Icon
- array(
- 'icon_cases' => array(
- '(flower)',
- '(F)',
- '(f)',
- ),
- 'icon_name' => 'flower'
- ),
- // Fubar Icon
- array(
- 'icon_cases' => array(
- '(fubar)',
- ),
- 'icon_name' => 'fubar'
- ),
- // Chuckle Icon
- array(
- 'icon_cases' => array(
- '(giggle)',
- '(chuckle)',
- ),
- 'icon_name' => 'giggle'
- ),
- // Handshake Icon
- array(
- 'icon_cases' => array(
- '(handshake)',
- ),
- 'icon_name' => 'handshake'
- ),
- // Happy Icon
- array(
- 'icon_cases' => array(
- '(happy)',
- ),
- 'icon_name' => 'happy'
- ),
- // Heart Icon
- array(
- 'icon_cases' => array(
- '(heart)',
- '(h)',
- '(H)',
- ),
- 'icon_name' => 'heart'
- ),
- // Hi Icon
- array(
- 'icon_cases' => array(
- '(hi)',
- ),
- 'icon_name' => 'hi'
- ),
- // Hug Icon
- array(
- 'icon_cases' => array(
- '(bear)',
- '(hug)',
- ),
- 'icon_name' => 'bear'
- ),
- // In Love Icon
- array(
- 'icon_cases' => array(
- '(inlove)',
- '(love)',
- '(l)',
- '(L)',
- ),
- 'icon_name' => 'inlove'
- ),
- // It Wasn`t Me Icon
- array(
- 'icon_cases' => array(
- '(wasntme)',
- ),
- 'icon_name' => 'itwasntme'
- ),
- // Kiss Icon
- array(
- 'icon_cases' => array(
- ':*',
- ':-*',
- ':=*',
- '(kiss)',
- ),
- 'icon_name' => 'kiss'
- ),
- // Makeup Icon
- array(
- 'icon_cases' => array(
- '(makeup)',
- '(kate)',
- ),
- 'icon_name' => 'makeup'
- ),
- // Mmmmm Icon
- array(
- 'icon_cases' => array(
- '(mm)',
- '(mmm)',
- '(mmmm)',
- ),
- 'icon_name' => 'mmm'
- ),
- // Mooning Icon
- array(
- 'icon_cases' => array(
- '(mooning)',
- ),
- 'icon_name' => 'mooning'
- ),
- // Movie Icon
- array(
- 'icon_cases' => array(
- '(movie)',
- '(film)',
- '(~)',
- ),
- 'icon_name' => 'movie'
- ),
- // Muscle Icon
- array(
- 'icon_cases' => array(
- '(muscle)',
- '(flex)',
- ),
- 'icon_name' => 'muscle'
- ),
- // Music Icon
- array(
- 'icon_cases' => array(
- '(music)',
- ),
- 'icon_name' => 'music'
- ),
- // Lips Sealed Icon
- array(
- 'icon_cases' => array(
- ':x',
- ':-x',
- ':X',
- ':-X',
- ':#',
- ':-#',
- ':=x',
- '=X',
- ':=#',
- ),
- 'icon_name' => 'lipssealed'
- ),
- // Nerd Icon
- array(
- 'icon_cases' => array(
- '(nerd)',
- '8-|',
- 'B-|',
- '8|',
- 'B|',
- '8=|',
- 'B=|',
- ),
- 'icon_name' => 'nerd'
- ),
- // Ninja Icon
- array(
- 'icon_cases' => array(
- '(ninja)',
- ),
- 'icon_name' => 'ninja'
- ),
- // No Icon
- array(
- 'icon_cases' => array(
- '(no)',
- '(n)',
- '(N)',
- ),
- 'icon_name' => 'no'
- ),
- // Nod Icon
- array(
- 'icon_cases' => array(
- '(nod)',
- ),
- 'icon_name' => 'nod'
- ),
- // Party Icon
- array(
- 'icon_cases' => array(
- '(party)',
- ),
- 'icon_name' => 'party'
- ),
- // Phone Icon
- array(
- 'icon_cases' => array(
- '(phone)',
- '(ph)',
- '(mp)',
- ),
- 'icon_name' => 'phone'
- ),
- // Pizza Icon
- array(
- 'icon_cases' => array(
- '(pi)',
- '(pizza)',
- ),
- 'icon_name' => 'pizza'
- ),
- // Poolparty Icon
- array(
- 'icon_cases' => array(
- '(hrv)',
- '(poolparty)',
- ),
- 'icon_name' => 'poolparty'
- ),
- // Puke Icon
- array(
- 'icon_cases' => array(
- '(puke)',
- ':&',
- ':-&',
- ':=&',
- ),
- 'icon_name' => 'puke'
- ),
- // Punch Icon
- array(
- 'icon_cases' => array(
- '(punch)',
- ),
- 'icon_name' => 'punch'
- ),
- // Rain Icon
- array(
- 'icon_cases' => array(
- '(rain)',
- '(london)',
- '(st)',
- ),
- 'icon_name' => 'rain'
- ),
- // Rock Icon
- array(
- 'icon_cases' => array(
- '(rock)',
- ),
- 'icon_name' => 'rock'
- ),
- // Rofl Icon
- array(
- 'icon_cases' => array(
- '(rofl)',
- ),
- 'icon_name' => 'rofl'
- ),
- // Sad Icon
- array(
- 'icon_cases' => array(
- '(sad)',
- ':(',
- ':-(',
- ':=(',
- ),
- 'icon_name' => 'sad'
- ),
- // Shake Icon
- array(
- 'icon_cases' => array(
- '(shake)',
- ),
- 'icon_name' => 'shake'
- ),
- // Sleepy Icon
- array(
- 'icon_cases' => array(
- '(snooze)',
- '|-)',
- 'I-)',
- 'I=)',
- ),
- 'icon_name' => 'sleepy'
- ),
- // Smile Icon
- array(
- 'icon_cases' => array(
- '(smile)',
- ':)',
- ':-)',
- ':=)',
- ),
- 'icon_name' => 'smile'
- ),
- // Tongue Out Icon
- array(
- 'icon_cases' => array(
- ':P',
- ':-P',
- ':=P',
- ':p',
- ':-p',
- ':=p',
- '(tongueout)',
- ),
- 'icon_name' => 'tongueout'
- ),
- // Smirk Icon
- array(
- 'icon_cases' => array(
- '(smirk)',
- ),
- 'icon_name' => 'smirk'
- ),
- // Smoke Icon
- array(
- 'icon_cases' => array(
- '(smoke)',
- '(smoking)',
- '(ci)',
- ),
- 'icon_name' => 'smoke'
- ),
- // Speechless Icon
- array(
- 'icon_cases' => array(
- '(speechless)',
- ':|',
- ':-|',
- ':=|',
- ),
- 'icon_name' => 'speechless'
- ),
- // Star Icon
- array(
- 'icon_cases' => array(
- '(star)',
- '(*)',
- ),
- 'icon_name' => 'star'
- ),
- // Sun Icon
- array(
- 'icon_cases' => array(
- '(sun)',
- ),
- 'icon_name' => 'sun'
- ),
- // Surprised Icon
- array(
- 'icon_cases' => array(
- '(surprised)',
- ':O',
- ':-O',
- ':=O',
- ':o',
- ':-o',
- ':=o',
- ),
- 'icon_name' => 'surprised'
- ),
- // Swear Icon
- array(
- 'icon_cases' => array(
- '(swear)',
- ),
- 'icon_name' => 'swear'
- ),
- // Swear Icon
- array(
- 'icon_cases' => array(
- '(sweat)',
- ),
- 'icon_name' => 'sweating'
- ),
- // Talk Icon
- array(
- 'icon_cases' => array(
- '(talk)',
- ),
- 'icon_name' => 'talk'
- ),
- // Thinking Icon
- array(
- 'icon_cases' => array(
- '(thinking)',
- ':-?',
- ':?',
- ':=?',
- ),
- 'icon_name' => 'thinking'
- ),
- // Time Icon
- array(
- 'icon_cases' => array(
- '(time)',
- '(clock)',
- '(o)',
- '(O)',
- ),
- 'icon_name' => 'time'
- ),
- // Toivo Icon
- array(
- 'icon_cases' => array(
- '(toivo)',
- ),
- 'icon_name' => 'toivo'
- ),
- // TMI Icon
- array(
- 'icon_cases' => array(
- '(tmi)',
- ),
- 'icon_name' => 'tmi'
- ),
- // Wait Icon
- array(
- 'icon_cases' => array(
- '(wait)',
- ),
- 'icon_name' => 'wait'
- ),
- // Whew Icon
- array(
- 'icon_cases' => array(
- '(whew)',
- ),
- 'icon_name' => 'whew'
- ),
- // Wink Icon
- array(
- 'icon_cases' => array(
- '(wink)',
- ';)',
- ';-)',
- ';=)',
- ),
- 'icon_name' => 'wink'
- ),
- // Wondering Icon
- array(
- 'icon_cases' => array(
- '(wonder)',
- ':^)',
- ),
- 'icon_name' => 'wondering'
- ),
- // Worried Icon
- array(
- 'icon_cases' => array(
- '(worry)',
- ':S',
- ':s',
- ':-s',
- ':-S',
- ':=s',
- ':=S',
- ),
- 'icon_name' => 'worried'
- ),
- // Yawn Icon
- array(
- 'icon_cases' => array(
- '(yawn)',
- ),
- 'icon_name' => 'yawn'
- ),
- // Yes Icon
- array(
- 'icon_cases' => array(
- '(yes)',
- '(y)',
- '(Y)',
- '(ok)',
- '(OK)',
- '(Ok)',
- ),
- 'icon_name' => 'yes'
- ),
- // Mail Icon
- array(
- 'icon_cases' => array(
- '(mail)',
- '(e)',
- '(m)',
- '(E)',
- '(M)',
- ),
- 'icon_name' => 'mail'
- ),
- );
- public function parse($code) {
- foreach ($this->_simpleReplace as $key => $value) {
- if (is_array($value)) {
- foreach ($value['icon_cases'] as $icon_case) {
- $code = str_replace($icon_case, "<img src='" . $this->_emoticonsPath . $value['icon_name'] . ".gif'/>", $code);
- }
- } else {
- $code = str_replace($key, $value, $code);
- }
- }
- echo $code;
- }
- public function setPath($path) {
- $this->_emoticonsPath = $path;
- return $this;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement