The Arcive of vBulletin Modifications Site. |
|
|
#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. |
|
#2
|
||||
|
||||
|
I didn't have to hack the php code, I'm using
HTML Code:
<span style="white-space:pre;">{param}</span> |
![]() |
|
|
| X vBulletin 3.8.12 by vBS Debug Information | |
|---|---|
|
|
More Information |
|
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|