prettyPre
A jQuery function to show a pretty formatted PRE element.
The tag for preformatted text in HTML looks better with JS and CSS.
DownloadUnparsed preformatted HTML
JASTDownload
Word word word See bla bla bla
$(selector).children().each(function(){ var val = $(this).outerWidth(); w.push(val); });
The Javascript
(function ( $ ) { $.fn.prettyPre = function (){ var preEl = $(this); for (var i = 0; i < preEl.length; i++) { var content = $(preEl[i]).html().replace(/[<>]/g, function(m) { return {'<':'<','>':'>'}[m]}); var tabs_to_remove = ''; while (content.indexOf('\t') == '0') { tabs_to_remove += '\t'; content = content.substring(1); } var re = new RegExp('\n' + tabs_to_remove, 'g'); content = content.replace(re, '\n'); $(preEl[i]).html(content); } }; }( jQuery ));
The CSS
.pretty-pre { padding-top:20px; overflow: hidden; width: 70%; transition: width 0.9s; } .pretty-pre.expand:hover { position: relative; width: 100%; z-index: 99; transition: width 0.9s; }
Call the plug-in
Call the function after jQuery and before the end of body.
<script src="js/prettypre.jquery.js"></script> <script>$(document).ready(function(){ $('.pretty-pre').prettyPre(); }); </script>
Parsed strings
Add the class .pretty-pre to the pre elements you want to parse with the script.
Plus: the class .expand resizes the element on mouse over.
HTML
JASTDownload
Word word word See bla bla bla
$(selector).children().each(function(){ var val = $(this).outerWidth(); w.push(val); });
PHP
function sample($foo, $obj = null) { foreach($foo as $k=>$v){ echo $v[$obj]; } var_dump($foo); }