Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 3 Articles

Reply
 
Thread Tools
Parse BBCode (in 3.5)
Andreas's Avatar
Andreas
Join Date: Jan 2004
Posts: 6,863

 

Germany
Show Printable Version Email this Page Subscription
Andreas Andreas is offline 06-07-2005, 10:00 PM

If you want to parse BBCodes somewhere in your hacks/scripts (assuming that global.php is already required):

PHP Code:
require_once(DIR '/includes/class_bbcode.php');
$parser =& new vB_BbCodeParser($vbulletinfetch_tag_list());
$parsed_text $parser->do_parse($text$do_html$do_smilies$do_bbcode$do_imgcode$do_nl2br$cachable); 
The parameters for method do_parse() are:
  • $text = Text to be parsed
  • $do_html = Whether to allow HTML or not (Default = false)
  • $do_smilies = Whether to parse smilies or not (Default = true)
  • $do_bbcode = Whether to parse BB code (Default = true)
  • $do_imgcode = Whether to parse the [img] BB code or not, independant of $do_bbcode (Default = true)
  • $do_nl2br = Whether to automatically replace new lines with HTML line breaks or not (Default = true)
    This should be set to false if you allow HTML.
  • $cachable = Whether the post text is cachable or not (Default = false)

All parameters except $text can be omitted and will use the defaults then.
Reply With Quote
  #52  
Old 08-14-2006, 09:15 PM
harmor19 harmor19 is offline
 
Join Date: Apr 2005
Posts: 1,324
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I liked to turn off the bbcode and have any bbcode stripped from the text.
I know how to turn off bbcode but how do I strip it?
Reply With Quote
  #53  
Old 09-17-2006, 07:41 PM
bigtime bigtime is offline
 
Join Date: Jun 2002
Location: Houston, Texas
Posts: 171
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi,

Using 3.6.1 and trying to parse bbcode on a non-vb page at the bottom of http://www.defend.net.

Could someone please let me know how to correct this code so that the bbcode will be parsed? I read this thread and tried some things but couldn't get it working.

PHP Code:
<?php
    $num_active 
5;
    
$num_topicchars  110;

     
$db=mysql_connect("localhost","user","pass");
    
mysql_select_db("dbname");

    
$querylatest="select * from thread where forumid='1' or forumid='2' or forumid='3' or forumid='4' or forumid='5' or forumid='6' or forumid='7' or forumid='10' or forumid='11' or forumid='12' or forumid='13' or forumid='14' or forumid='15' or forumid='16' or forumid='17' or forumid='18' or forumid='19' or forumid='20' or forumid='22' or forumid='23' or forumid='25' or forumid='26' or forumid='27' or forumid='28' or forumid='29' or forumid='30' or forumid='31' or forumid='32' or forumid='34' or forumid='35' or forumid='36' or forumid='37' or forumid='38' order by lastpost desc limit $num_active";

    
$resultlatest mysql_query($querylatest,$db);

?>

<table width="100%" align="center" cellpadding="2" cellspacing="0">
  <?
    while ($latest_array = mysql_fetch_array($resultlatest)) {

    // Get Forum Infomation
    $query_forum = "select * from forum where forumid='$latest_array[forumid]'";
    
    $result_forum = mysql_query($query_forum,$db);
    $forum_info_array = mysql_fetch_array($result_forum);

        // split the date up a bit
        $datestr1 = substr($latest_array["dateline"],0,10);
    $datetime = substr($latest_array["dateline"],11,8);


?>
  <tr>
    <td align="left"><b><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#335980"><? echo $forum_info_array["title"]; ?></font>:<br>
            <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><? echo $latest_array["title"]; ?></font></b></td>
  </tr>
  <?



    $querythread="select * from post where threadid='$latest_array[threadid]' order by dateline desc limit 1";

    $result_thread_text= mysql_query($querythread,$db);

    $result_thread_array = mysql_fetch_array($result_thread_text);


    $pagetext = substr(strip_tags($result_thread_array[pagetext]),0,$num_topicchars);
    ?>
  <td width="100%"><p align="left"><img src="/deluxeforums/images/statusicon/forum_new.gif"> <span class="style2"><? echo "$pagetext"; ?>... <a href="/deluxeforums/showthread.php?threadid=<? echo "$latest_array[threadid]"; ?>">(more)</a></span></p>
          <p align="left"><span class="style2">Started By: <? echo "$latest_array[postusername]"; ?> <br>
        Last Post By: <? echo "$latest_array[lastposter]"; ?> </span></p><hr align="center" width="80%">
      </td></tr>
     <?
     
}

     
?>
</table>
Reply With Quote
  #54  
Old 11-24-2006, 05:28 PM
TYorke TYorke is offline
 
Join Date: Dec 2001
Location: Toronto, ON
Posts: 88
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi,

I am trying hard as well to include custom BB tags I have created myself but no go. The do_parse function will not include it as hard as I try. Same with Quotes, they are not being parsed at all. Did I miss a command somewhere?

I have this initially:

PHP Code:
    $bbcode_parser =& new vB_BbCodeParser($vbulletinfetch_tag_list(), true);

        while(
$News $db->fetch_array($NewestNews)){
        
$Data .= ParseTemplate($Template,
                            array(
                                
'threadid'     => $News['threadid'],
                                
'threadname'   => $News['title'],
                                
'postuserid'   => $News['postuserid'],
                                
'postusername' => $News['postusername'],
                                
'post'         => $bbcode_parser->do_parse($News['pagetext'], falsetruetruetruetruefalse),
                                
'comments'     => vb_number_format($News['replycount']),
                                
'date'         => vbdate($vbulletin->options['dateformat'], $News['dateline']),
                                
'time'         => vbdate($vbulletin->options['timeformat'], $News['dateline']),
                                
'views'        => vb_number_format($News['views']),
                            )
            );
        } 
IMG does get parsed but so far Quotes and any custom BB codes do not.

Thanks for any help in advance
Reply With Quote
  #55  
Old 12-06-2006, 03:17 PM
peterska2 peterska2 is offline
 
Join Date: Oct 2003
Location: Manchester, UK
Posts: 6,504
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If you require assistance with some code that you are writing, please use the programming discussions forum.

Thank you.
Reply With Quote
  #56  
Old 01-16-2007, 03:52 AM
keithsl keithsl is offline
 
Join Date: Jan 2005
Location: St. Louis
Posts: 29
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm using this same code and I'm having some problems with Japanese text. I made a separate thread about it: https://vborg.vbsupport.ru/showthread.php?t=136248
Reply With Quote
  #57  
Old 03-09-2007, 11:46 PM
Ducain Ducain is offline
 
Join Date: Mar 2006
Posts: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You guys rock. Thanks so much for sharing this information.
Reply With Quote
  #58  
Old 03-13-2008, 07:38 PM
Mythotical Mythotical is offline
 
Join Date: Jun 2004
Location: Booneville, AR, USA
Posts: 1,428
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok my turn for help:

This is my code:
PHP Code:
                require_once(DIR '/includes/class_bbcode.php');
                
$parser =& new vB_BbCodeParser($vbulletinfetch_tag_list());
                
$thread['threadtitle'] = $parser->do_parse($thread['threadtitle'], $do_html$do_smilies$do_bbcode$do_imgcode$do_nl2br$cachable); 
                
$threadbit =& $threadbits_sticky
Trying to get bbcoder for stickied threads to parse but it won't parse. If I change it any other way than it is now, it will make the sticky threads vanish.

Thanks
Steve
Reply With Quote
  #59  
Old 03-13-2008, 09:32 PM
Opserty Opserty is offline
 
Join Date: Apr 2007
Posts: 4,103
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Steve M View Post
Ok my turn for help:

This is my code:
PHP Code:
                require_once(DIR '/includes/class_bbcode.php');
                
$parser =& new vB_BbCodeParser($vbulletinfetch_tag_list());
                
$thread['threadtitle'] = $parser->do_parse($thread['threadtitle'], $do_html$do_smilies$do_bbcode$do_imgcode$do_nl2br$cachable); 
                
$threadbit =& $threadbits_sticky
Trying to get bbcoder for stickied threads to parse but it won't parse. If I change it any other way than it is now, it will make the sticky threads vanish.

Thanks
Steve
You need to find where the threadbit template is evaluated for stickied threads, ensure this code is placed just before it, also remove the last line, I don' think you need it.
Reply With Quote
  #60  
Old 03-14-2008, 05:43 PM
Shane's Avatar
Shane Shane is offline
 
Join Date: Nov 2001
Posts: 108
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

In 3.7.x, I got every phrased, except the smiles, even though I pass "true" through:
PHP Code:
    function parse_bbcode()
    {
        
$this->data['message'] = $this->bbcode_parser->parse($this->data['pagetext'], ''$this->data['allowsmilie']);
    } 
"allowsmilie" does equal 1.
Reply With Quote
  #61  
Old 03-15-2008, 04:18 AM
Mythotical Mythotical is offline
 
Join Date: Jun 2004
Location: Booneville, AR, USA
Posts: 1,428
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Opserty, thanks, I'll give it a go later.

--------------- Added [DATE]1205610787[/DATE] at [TIME]1205610787[/TIME] ---------------

Opserty: Tried that, makes all the sticky's vanish. So I'm not too sure, gonna keep playing with it and hope I figure it out.
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:43 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05020 seconds
  • Memory Usage 2,338KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (6)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_article
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (11)post_thanks_box
  • (1)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete