-
[Release]Cype Advanced BBCode Parser And Custom BBCode
FAQ:
What does this do?
This uses preg_replace instead of str_replace, giving the parser case-insensitivity, and more powerful replaces, with exact traces, unlike str_replace.
It also allows custom bbcode throught the DB.
==================================================
This is just the SQL Database Part and Cype BBCode Parser Remake- no website UI.
Go to MySQL, and make a new table called cype_bbcode.
In it, put the following table structure
===========================
id--INTEGER--Auto Increment
pattern--TEXT
replacement--TEXT
===========================
Now, go to sources>parser>bbcode.php
replace the entire file with:
PHP Code:
<?php
/*
Copyright (C) 2009 Murad <Murawd>
Josh L. <Josho192837>
BBCode Parser Modified By silv3rbullet
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
$c = preg_replace('|\[b\](.+?)\[\/b\]|i', '<b>$1</b>', $c);
$c = preg_replace('|\[i\](.+?)\[\/i\]|i', '<i>$1</i>', $c);
$c = preg_replace('|\[u\](.+?)\[\/u\]|i', '<u>$1</u>', $c);
$c = preg_replace('|\[*\](.+?)\[\/*\]|i', '<li>$1</li>', $c);
$c = preg_replace('|\[url="(.+?)"\](.+?)\[\/url\]|i', '<a href="$1" target="_blank">$2</a>', $c);
$c = preg_replace('|\[center\](.+?)\[\/center\]|i', '<center>$1</center>', $c);
/*
$c = str_replace(array("[right]", "[/right]"), array("<span align=\"right\">", "</span>"), $c);
$c = str_replace(array("[left]", "[/left]"), array("<span align=\"left\">", "</span>"), $c);
*/
$c = preg_replace('|\[img\](.+?)\[\/img\]|i', '<img src="$1" border="0" alt="">', $c);
$c = preg_replace('|\[font="(.+?)"](.+?)\[\/font\]|i', '<font face="$1">$2</font>', $c);
$c = str_replace(":)", "<img src=\"sources/parser/smileys/smile.gif\"/>" , $c);
$c = str_replace("=)", "<img src=\"sources/parser/smileys/smile.gif\"/>" , $c);
$c = str_replace("=P", "<img src=\"sources/parser/smileys/tounge.gif\"/>" , $c);
$c = str_replace(":P", "<img src=\"sources/parser/smileys/tounge.gif\"/>" , $c);
$c = str_replace(":lol:", "<img src=\"sources/parser/smileys/lol.gif\"/>", $c);
$c = str_replace(":haha:", "<img src=\"sources/parser/smileys/lol.gif\"/>", $c);
$c = str_replace(":laugh:", "<img src=\"sources/parser/smileys/lol.gif\"/>", $c);
$c = str_replace(">=(", "<img src=\"sources/parser/smileys/mad.gif\"/>", $c);
$c = str_replace(":mad:", "<img src=\"sources/parser/smileys/mad.gif\"/>", $c);
$c = str_replace(">:(", "<img src=\"sources/parser/smileys/mad.gif\"/>", $c);
$c = str_replace(":O", "<img src=\"sources/parser/smileys/ohmy.gif\"/>", $c);
$c = str_replace("=O", "<img src=\"sources/parser/smileys/ohmy.gif\"/>", $c);
$c = str_replace(":(", "<img src=\"sources/parser/smileys/sad.gif\"/>", $c);
$c = str_replace("=(", "<img src=\"sources/parser/smileys/sad.gif\"/>", $c);
$c = str_replace(";)", "<img src=\"sources/parser/smileys/wink.gif\"/>", $c);
$c = str_replace(";D", "<img src=\"sources/parser/smileys/wink.gif\"/>", $c);
$c = str_replace(";P", "<img src=\"sources/parser/smileys/wink.gif\"/>", $c);
$c = str_replace("=/", "<img src=\"sources/parser/smileys/bored.gif\"/>", $c);
$c = str_replace(":bored:", "<img src=\"sources/parser/smileys/bored.gif\"/>", $c);
$c = str_replace(":D", "<img src=\"sources/parser/smileys/happy.gif\"/>", $c);
$c = str_replace("=D", "<img src=\"sources/parser/smileys/happy.gif\"/>", $c);
$script = "SELECT * FROM `cype_bbcode`";
$query = mysql_query($script) or die(mysql_error());
while($fetch = mysql_fetch_array($query))
{
$c = preg_replace(''.$fetch['pattern'].'|i', $fetch['replacement'], $c);
}
?>
BBCode Pack 1: http://forum.ragezone.com/f427/relea...ht=bbcode+pack
-
Re: [Release]Cype Advanced BBCode
Nice job. cant wait for the rest
-
Re: [Release]Cype Advanced BBCode
Quote:
Originally Posted by
xdanl
Nice job. cant wait for the rest
Thanks (subliminally tries to tell you to thank me :P)
-
Re: [Release]Cype Advanced BBCode
Quote:
Originally Posted by
xSilv3rbullet
Thanks (subliminally tries to tell you to thank me :P)
~will do~ *Press thank button* [?]
-
Re: [Release]Cype Advanced BBCode
Quote:
Originally Posted by
xdanl
~will do~ *Press thank button* [?]
OMG, how did you know I wanted that?
:P
-
Re: [Release]Cype Advanced BBCode
Quote:
Originally Posted by
xSilv3rbullet
OMG, how did you know I wanted that?
:P
IDK! i was like hmm he recoded cype in some other way he deserves a press on the [?]
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
This really isn't that advanced at all.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
It's more advanced than the current parser.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Quote:
Originally Posted by
xSilv3rbullet
It's more advanced than the current parser.
is it more advanced because you used preg_replace instead of str_replace?
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Wow thats fucking tedious.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
lol i just noticed the mysql code at the end...
people will need knowledge on how the code works and other ways to make the bbcode work. just because i put in [quote ][/quote] its not automatically make it work. theres a format that people will need to understand to make it work fully.
i just barely figured out how to make spoilers work fully in bbcode. if you want a taste here:
PHP Code:
$text = preg_replace("/\[spoiler\](.+?)\[\/spoiler\]/is","".$this->spoiler("\\1")."", $text);
im not going to release the other part but you can get the general idea.
ps to you copy-pasters, dont bother adding this unless you have at least a way to convert it to make it work. i say this because theres more that goes into code.
EDIT:
forgot to mention that i can also change the name of the spoiler button name to give it abit of a "classy" feeling or have it use both classy and non classy spoiler. (not saying that i can only do it because i know people that can do way more then i can)
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Quote:
Originally Posted by
holthelper
is it more advanced because you used preg_replace instead of str_replace?
Why, yes!
:)
preg_replace better fits str_replace or str_ireplace because it's faster, it's REGEX, it's perl, and you can pin point text, unlike with str_replace
Example:
str_replace(array("[bob=", "]), array("hi", "bob"));
str_replace(array("[joe=", "]), array("lol", "joe"));
Now, even if you use [joe="hi"], it will output lol hi bob, cuz "bob" replaces any instances of "]".
:sleep:
Also, custom bbcode is added.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
this seems to be your custom code
PHP Code:
$script = "SELECT * FROM `cype_bbcode`";
$query = mysql_query($script) or die(mysql_error());
while($fetch = mysql_fetch_array($query))
{
$c = preg_replace(''.$fetch['pattern'].'|i', $fetch['replacement'], $c);
}
?>
i rather have it in a file then in a db. since your going for speed anyways, people will tell you that retrieving from a db is slower then pulling data from a file.
why make it more complex then it is already?
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Many people would rather put bbcode in a database, rather than in a file.
It's less complicated, and easier to use.
However, it DOES take longer, and cost more memory.
But you could just use a mysql_free_result()
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
you have a script that will add the bbcode into the db or does the user have to insert it them selfs?
plz do a thread search of my username and look for my discussion thread then ask. this is basically the same as my thread which i was referring to in my earlier post
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Quote:
Originally Posted by
holthelper
you have a script that will add the bbcode into the db or does the user have to insert it them selfs?
plz do a thread search of my username and look for my discussion thread then ask. this is basically the same as my thread which i was referring to in my earlier post
By that you mean the CSS and MySQL thread?
Again, you can use mysql_free_result().
I just have a bad habit of not using it.
Example:
PHP Code:
#Query#
$script = "SELECT * FROM `table`";
#Execute#
$execute = mysql_query($script) or die(mysql_error());
#Fetch Array#
$array = mysql_fetch_array($execute);
#Free MySQL Memory#
mysql_free_result($execute);
echo $array['message'];
By using mysql_free_result($query), you immediately free the memory.
Quote:
Originally Posted by
holthelper
you have a script that will add the bbcode into the db or does the user have to insert it them selfs?
Quote:
==================================================
This is just the SQL Database Part and Cype BBCode Parser Remake- no website UI.
It would be easy though, make a form, and query some stuff
Example
PHP Code:
$pattern = mysql_real_escape_string(stripslashes($_POST['pattern']));
$replace = mysql_real_escape_string(stripslashes($_POST['replace']));
$query = mysql_query("INSERT INTO `cype_bbcode` (`pattern`, `replacement`) VALUES ('".$patter."', '".$replace."'") or die("An error occurred: ".mysql_error());
echo "Succesfully added bbcode!";
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
ok now i see how you set it up.
this would be considered as anti copy-paste and using the noggin that has formed rust.
edit:
quick take out the ex. keep the thread the way it was. i like what you did, just didnt realize it until after a small conversation on this thread LOL
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
mysql_free_result(); isnt needed if you only got a bit of a good computer/dedi/vps
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
i did research and it said:
mysql_free_result() only needs to be called if you are concerned about how much memory is being used for queries that return large result sets. All associated result memory is automatically freed at the end of the script's execution.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
This parser is one of the worst I've ever seen.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Me hacked me bro again. :)
Quote:
Originally Posted by
holthelper
ok now i see how you set it up.
this would be considered as anti copy-paste and using the noggin that has formed rust.
edit:
quick take out the ex. keep the thread the way it was. i like what you did, just didnt realize it until after a small conversation on this thread LOL
what ex?
Quote:
Originally Posted by
Murawd
This parser is one of the worst I've ever seen.
cool story bro.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Nice custom BBcode.
nice release.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
ex = example
remove the upload example but leave the code lol
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
By the way, BBCode is supposed to be case-sensitive.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Quote:
Originally Posted by
Murawd
By the way, BBCode is supposed to be case-sensitive.
I couldn't resist quoting it. :P
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Quote:
Originally Posted by
Murawd
By the way, BBCode is supposed to be case-sensitive.
*dies laughing*
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
its not supposed to be case-sensitive for the fact that if you use [QUOTE] it will work the same as [quote]. that being said, which would you rather use?
i would like to answer for you, both would be excellent. for the reason of if someone loves to write in all caps it still works the same.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Quote:
Originally Posted by
holthelper
its not supposed to be case-sensitive for the fact that if you use [ QUOTE ] it will work the same as [ quote ]. that being said, which would you rather use?
i would like to answer for you, both would be excellent. for the reason of if someone loves to write in all caps it still works the same.
He was being sarcastic
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Quote:
Originally Posted by
Folderz
He was being sarcastic
obviously you dont know how str_replace work other then its in the source.
http://us3.php.net/str_replace
look under notes, there youll find your answer.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
str_ireplace still doesn't work, even though it is case insensitive.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Okay sorry for the possible spam?? But HEY SILVER AND ANUJAN <333 LOL I HASNT BEEN ON RZ FOR LIKE A YEAR :O And uh whats this do lawl lawl
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Quote:
Originally Posted by
LightRyuzaki
Okay sorry for the possible spam?? But HEY SILVER AND ANUJAN <333 LOL I HASNT BEEN ON RZ FOR LIKE A YEAR :O And uh whats this do lawl lawl
It's basically the cype parser, but re engineered.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Quote:
Originally Posted by
Horizon
By the way, BBCode is supposed to be case-sensitive.
Was I stoned when I said this? Ignore this post, please.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Quote:
Originally Posted by
Horizon
Was I stoned when I said this? Ignore this post, please.
A confession! :P
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Quote:
Originally Posted by
xSilv3rbullet
A confession! :P
We all make mistakes sometimes. I really don't know what I was thinking when I said that.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
the sql :
PHP Code:
CREATE TABLE `odinms`.`cype_bbcode` (
`id` INTEGER AUTO_INCREMENT,
`pattern` TEXT,
`replacement` TEXT,
PRIMARY KEY (`id`)
)
ENGINE = InnoDB;
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Lol, why'd you post the SQL?
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
@murad: How could you have not known that you posted it?
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
Mixed opinions. anyways. thanks for the release.
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
why do you guys keep bumping old threads
-
Re: [Release]Cype Advanced BBCode Parser And Custom BBCode
added link to first bbcode pack