Jump to content

[SOLVED] BBCODE Help, preg_replace


Lamez

Recommended Posts

I am working on my BB code script, and my angry smily and my embarrassed smily are not working.

 

when you type "<:( and >:(") they are suppose to look like  :-[>:(, but they come out as < :( and > :(

 

<?php
		$Text = preg_replace("(\<:\()is",'<img src="'.$epath.'embarrassed.gif">',$Text);
		$Text = preg_replace("(\>:\()is",'<img src="'.$epath.'angry.gif">',$Text);
?>

 

-Thanks :D

Link to comment
https://forums.phpfreaks.com/topic/114267-solved-bbcode-help-preg_replace/
Share on other sites

I guess so.

 

I do not understand your code there.

 

How would that work. And my bbcode is a function I made:

 

<?php
   function BBCode($Text)
       {
         // Replace any html brackets with HTML Entities to prevent executing HTML or script
            // Don't use strip_tags here because it breaks [url] search by replacing & with amp
            $Text = str_replace("<", "<", $Text);
            $Text = str_replace(">", ">", $Text);

            // Convert new line chars to html <br /> tags
            $Text = nl2br($Text);

            // Set up the parameters for a URL search string
            $URLSearchString = " a-zA-Z0-9\:\/\-\?\&\.\=\_\~\#\'";
            // Set up the parameters for a MAIL search string
            $MAILSearchString = $URLSearchString . " a-zA-Z0-9\.@";

            // Perform URL Search
            $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/", '<a href="$1" target="_blank">$1</a>', $Text);
            $Text = preg_replace("(\[url\=([$URLSearchString]*)\](.+?)\[/url\])", '<a href="$1" target="_blank">$2</a>', $Text);
         //$Text = preg_replace("(\[url\=([$URLSearchString]*)\]([$URLSearchString]*)\[/url\])", '<a href="$1" target="_blank">$2</a>', $Text);

            // Perform MAIL Search
            $Text = preg_replace("(\[mail\]([$MAILSearchString]*)\[/mail\])", '<a href="mailto:$1">$1</a>', $Text);
            $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.+?)\[\/mail\]/", '<a href="mailto:$1">$2</a>', $Text);
         
            // Check for bold text
            $Text = preg_replace("(\[b\](.+?)\[\/b])is",'<b>$1</b>',$Text);

            // Check for Italics text
            $Text = preg_replace("(\[i\](.+?)\[\/i\])is",'<i>$1</i>',$Text);

            // Check for Underline text
            $Text = preg_replace("(\[u\](.+?)\[\/u\])is",'<u>$1</u>',$Text);

            // Check for strike-through text
            $Text = preg_replace("(\[s\](.+?)\[\/s\])is",'<s>$1</s>',$Text);


            // Check for over-line text
            $Text = preg_replace("(\[o\](.+?)\[\/o\])is",'<o>$1</o>',$Text);

            // Check for colored text
            $Text = preg_replace("(\[color=(.+?)\](.+?)\[\/color\])is","<span style=\"color: $1\">$2</span>",$Text);

            // Check for sized text
            $Text = preg_replace("(\[size=(.+?)\](.+?)\[\/size\])is","<span style=\"font-size: $1px\">$2</span>",$Text);

		// Check for img text
            $Text = preg_replace("(\[img\](.+?)\[\/img\])is",'<img src="$1">',$Text);
              
		//Emoteicons

		$epath = $path."main/style/img/bb/";
            $Text = preg_replace("()is",'<img src="'.$epath.'cheesy.gif">',$Text);
		$Text = preg_replace("()is",'<img src="'.$epath.'cheesy.gif">',$Text);
		$Text = preg_replace("()is",'<img src="'.$epath.'tongue.gif">',$Text);
		$Text = preg_replace("()is",'<img src="'.$epath.'tongue.gif">',$Text);
		$Text = preg_replace("(:\))is",'<img src="'.$epath.'smiley.gif">',$Text);
		$Text = preg_replace("(:\(\()is",'<img src="'.$epath.'cry.gif">',$Text);
		$Text = preg_replace("(\>:\()is",'<img src="'.$epath.'embarrassed.gif">',$Text);
		$Text = preg_replace("(\>:\()is",'<img src="'.$epath.'angry.gif">',$Text);
		$Text = preg_replace("(:\()is",'<img src="'.$epath.'sad.gif">',$Text);
		$Text = preg_replace("(;\))is",'<img src="'.$epath.'wink.gif">',$Text);
		$Text = preg_replace("(:\)\))is",'<img src="'.$epath.'grin.gif">',$Text);
		$Text = preg_replace("(>:\()is",'<img src="'.$epath.'angry.gif">',$Text);
	    $Text = preg_replace("(8\))is",'<img src="'.$epath.'cool.gif">',$Text);
		$Text = preg_replace("(\?\?\?)is",'<img src="'.$epath.'huh.gif">',$Text);
		$Text = preg_replace("(::\))is",'<img src="'.$epath.'rolleyes.gif">',$Text);
		$Text = preg_replace("(:\/)is",'<img src="'.$epath.'undecided.gif">',$Text);
		$Text = preg_replace("(:X)is",'<img src="'.$epath.'lipsrsealed.gif">',$Text);
		$Text = preg_replace("(:x)is",'<img src="'.$epath.'lipsrsealed.gif">',$Text);
		$Text = preg_replace("()is",'<img src="'.$epath.'shocked.gif">',$Text);
		$Text = preg_replace("(:0)is",'<img src="'.$epath.'shocked.gif">',$Text);
		$Text = preg_replace("()is",'<img src="'.$epath.'shocked.gif">',$Text);
		$Text = preg_replace("(:K)is",'<img src="'.$epath.'kiss.gif">',$Text);
		$Text = preg_replace("(:k)is",'<img src="'.$epath.'kiss.gif">',$Text);


	    // Check for list text
            $Text = preg_replace("/\[list\](.+?)\[\/list\]/is", '<ul class="listbullet">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=1\](.+?)\[\/list\]/is", '<ul class="listdecimal">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=i\](.+?)\[\/list\]/s", '<ul class="listlowerroman">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=I\](.+?)\[\/list\]/s", '<ul class="listupperroman">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=a\](.+?)\[\/list\]/s", '<ul class="listloweralpha">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=A\](.+?)\[\/list\]/s", '<ul class="listupperalpha">$1</ul>' ,$Text);
            $Text = str_replace("[*]", "<li>", $Text);

            // Check for font change text
            $Text = preg_replace("(\[font=(.+?)\](.+?)\[\/font\])","<span style=\"font-family: $1;\">$2</span>",$Text);

            // Declare the format for [code] layout
            $CodeLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
                                <tr>
                                    <td class="quotecodeheader"> Code:</td>
                                </tr>
                                <tr>
                                    <td class="codebody">$1</td>
                                </tr>
                           </table>';
            // Check for [code] text
            $Text = preg_replace("/\[code\](.+?)\[\/code\]/is","$CodeLayout", $Text);
            // Declare the format for [code=php:0] layout
            $phpLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
                                <tr>
                                    <td class="quotecodeheader"> Code:</td>
                                </tr>
                                <tr>
                                    <td class="codebody">$1</td>
                                </tr>
                           </table>';
            // Check for [code=php:0] text
            $Text = preg_replace("/\[php\](.+?)\[\/php\]/is",$phpLayout, $Text);

            // Declare the format for [quote] layout
            $QuoteLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
                                <tr>
                                    <td class="quotecodeheader"> Quote:</td>
                                </tr>
                                <tr>
                                    <td class="quotebody">$1</td>
                                </tr>
                           </table>';
                     
            // Check for [quote] text
            $Text = preg_replace("/\[quote\](.+?)\[\/quote\]/is","$QuoteLayout", $Text);
         
            // Images
            // [img=pathtoimage]
            $Text = preg_replace("/\[img\](.+?)\[\/img\]/", '<img src="$1">', $Text);
         
            // [img=widthxheight]image source[/img]
            $Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.+?)\[\/img\]/", '<img src="$3" height="$2" width="$1">', $Text);

		//Name
            //:name:
            $user = $session->username;
            $Text = preg_replace("-:name:-" , $user, $Text);			
         
           return $Text;
      }

?> 

[/code][/code]

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.