The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
![]()
I post a lot of plain text results on my forums that use courier fonts, and it's much easier to have them use preformatted text rather than a code/php box.
Adding the [PRE] tag itself is a very simple mini-hack. You just fire up \includes\functions_bbcodeparse.php and make two additions. Here is what I did. In the function fetch_bbcode_definitions, add the following in whichever bracketed section you deem appropriate (I used ALLOW_BBCODE_BASIC): Code:
// [PRE] $bbcodes['custom']['find']['[pre]'] = '#\[pre\](<br>|<br />|\r\n|\n|\r)??(.*)(<br>|<br />|\r\n|\n|\r)??\[/pre\]#esiU'; $bbcodes['custom']['replace']['[pre]'] = "handle_bbcode_pre('\\2')"; $bbcodes['custom']['recurse']['pre'][0] = array('handler' => 'handle_bbcode_pre'); Code:
// ###################### Start bbcodehandler_pre ####################### function handle_bbcode_pre($text) { $textfind = array( '<br>', // <br> to nothing '<br />' // <br /> to nothing ); $textreplace = array( '', '' ); $newtext = "<pre style=\"margin: 0;\">" . trim(str_replace($textfind,$textreplace,$text)) . "</pre>"; return $newtext; } Does anybody know why this is, or how it may be fixed? Or have any other feedback towards doing this? For what it's worth, the reason you cannot simply make a custom PRE tag via the Admin CP is that nl2br() gets called on the text and a BR tag gets inserted at every newline. I also know that you could just use some CSS to force the BR tags in a PRE block to display: none, but I am wanting to find a solution to the above problem for my own curiosity, I guess. |
Thread Tools | |
Display Modes | |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|