3v4l.org

run code in 300+ PHP versions simultaneously
<?php $d = ":link,:visited { text-decoration:none } :focus,:active { outline: 0 } ul,ol { list-style:none } h1,h2,h3,h4,h5,h6,pre,code { font-size:1em; } ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,body,html,p,blockquote,fieldset,input { margin:0; padding:0 } a img,:link img,:visited img, fieldset { border:none } address { font-style:normal } body { font: .8em \"Trebuchet MS\", Verdana, Helvetica, sans-serif; color: #666; background: #F7FCFF url(../images/bg.gif) repeat-x; } a { color: #AF1515; cursor: pointer; } a:hover { color: #7D1919; } h1 { font-size: 3em; clear: both; margin: 0 0 5px; } h2 { font: normal 1.6em Arial; color: #3D3C3B; margin: 0 0 15px; } h2#slogan { font-size: 1.3em; color: #808080; } p { margin: 0 0 15px; line-height: 1.7em; } .clear { clear: both; } .wrap { margin: 0 auto; width: 900px; } .background { background: url(../images/bg.jpg) no-repeat left 42px; } .sf-ad-footer img { margin:0 auto; } .sf-ad-footer {background: url(../images/dot.gif) repeat-x; clear:both; padding: 15px 0 15px; text-align:center; margin:10px 0 0;} .ad-banner-center {background: url(../images/dot.gif) repeat-x; text-align:center; padding: 15px 0 11px;} .ad-banner-center-split {background: url(../images/dot.gif) repeat-x; text-align:center; padding: 15px 0 1px;} .ad-banner { margin-bottom:15px;} p.link-unit-mixed { text-align:left;} #search { float: right; margin: 9px 0 0; width: 205px; } input.field { float: left; background: #808080; color: #ccc; padding: 4px; border: 0; margin: 0 5px 0 0; width: 170px; font: .8em \"Trebuchet MS\", Arial, Sans-Serif; } input.field:focus { border-bottom: 1px dotted #ccc; color: #666; } input.button { float: right; background: url(../images/search.gif) no-repeat; width: 20px; height: 13px; border: 0; margin: 5px 0 0; } #menu { padding: 0 0 8px; margin: 0 0 25px; height: 20px; } #menu li { display: inline; } #menu li a { float: left; width: 86px; text-align: center; margin: 0 2px 0 0; font-weight: bold; font-size: .8em; padding: 16px 0 21px; color: #ccc; } #menu li a:hover, #menu li a.current { color: #AF1515; background: url(../images/menu.gif) no-repeat center bottom; } #logo { float: left; margin: 40px 0 0; } #feature{ color: #33617F; float: right; background: #fff; width: 580px; height: 89px; margin: 0 0 40px; font-size: 1.1em; font-style: italic; padding: 10px 10px 2px; } #feature img { float: left; margin: 0 20px 0 0; } #feature p { margin: 10px 0 0; } .more { font-size: .74em; font-weight: bold; margin: 0 5px 0 0; color: #390505; font-style: normal; } #feature_menu { float: right; } #feature_menu li { display: inline; } #feature_menu li a { color: #33617F; float: left; padding: 6px 14px 6px 21px; margin: 0 0 0 2px; background: #C6E5F9 url(../images/bullet.gif) no-repeat 7px 12px; font-size: .8em; font-weight: bold; } #feature_menu li a:hover { color: #071F2D; background: #fff url(../images/bullet_hover.gif) no-repeat 7px 8px; } #feature_menu li a.current { background: #fff url(../images/bullet.gif) no-repeat 5px 12px; } #feature, #feature_menu li a { opacity: 0.6; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); -MS-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)\"; } #left { float: left; width: 550px; margin: 0 0 10px; text-align: justify; } #left h2 { color: #52A9BA; } #left h2 a { border-bottom: 1px dotted #ACCADE; padding: 0 0 3px; } #left .more { color: #7EA4BC; } .subtitle { font-weight: bold; font-style: italic; font-size: 1.1em; margin: 0 0 4px; } .date { background: #fff; padding: 5px 0; border-right: 1px solid #D3EAFA; border-bottom: 1px solid #D3EAFA; color: #ccc; float: left; width: 55px; margin: 7px 12px 5px 0; text-align: center; } .date span { font-size: 1.6em; } #left_wide { float: left; margin: 0 0 10px; text-align: justify; } #left_wide h2 { color: #52A9BA; } #left_wide h2 a { border-bottom: 1px dotted #ACCADE; padding: 0 0 3px; } #left_wide .more { color: #7EA4BC; } .subtitle { font-weight: bold; font-style: italic; font-size: 1.1em; margin: 0 0 4px; } .date { background: #fff; padding: 5px 0; border-right: 1px solid #D3EAFA; border-bottom: 1px solid #D3EAFA; color: #ccc; float: left; width: 55px; margin: 7px 12px 5px 0; text-align: center; } .date span { font-size: 1.6em; } .seperate {background:transparent url(../images/dot.gif) repeat-x scroll 0 0; padding:15px 0 10px;} #side { float: right; width: 312px; margin: 0 0 30px; font-size: .9em; } #side h3 { color: #ccc; margin: 0 0 6px 5px; height: 16px; } .boxtop { background: url(../images/box.gif) no-repeat top; padding: 2px 0; } .box { padding: 3px 6px; background: #363636; } .boxbottom { background: url(../images/box.gif) no-repeat bottom; padding: 2px 0; } .item { font-size: .94em; display: block; color: #ccc; background: #fff url(../images/item.gif) no-repeat; height: 54px; padding: 4px 10px; margin: 0 0 5px; } .item.last { margin: 0; } .item:hover { background: #fff url(../images/item.gif) no-repeat bottom; color: #fff; } .item strong { color: #FFFAD3; line-height: 27px; } .sidedate { float: left; width: 35px; text-align: center; padding: 4px 9px 0 0; font-size: 1.6em; margin: 0 12px 0 0; border-right: 1px dotted #808080; } .sidedate span { font-size: .6em; font-weight: bold; color: #808080; } #ad { background: url(../images/dot.gif) repeat-x; padding: 15px 0 10px; clear: both; font-size: .9em; line-height: 1.7em; } #promo { clear: both; border-top: 3px solid #6E6E6E; background: #505050 url(../images/footer.gif) no-repeat right top; color: #ccc; padding: 30px 0 0 0; } #promo h2 { color: #fff; } #promo a { color: #D9EAF9; border-bottom: 1px dotted #808080; } .col { float: left; width: 280px; margin: 0 30px 20px 0; } .last { margin: 0; } #footer { clear: both; padding: 15px 0; font-size: .84em; color: #808080; border-top: 1px dotted #666; } .ad-footer img {margin:0 auto; display:block; padding: 0; text-align:center; } .ad-footer {background: url(../images/dot.gif) repeat-x; clear:both; padding: 15px 0 15px; text-align:center; margin:10px 0 0;} #page-content { position:absolute; top: 503px; right: 0; height: 1000px;} #top-right-tabbed-nav-container { position:absolute; top: 53px; right: 0; } #top-right-tabbed-nav-container #feature-container{ margin-top:27px; color: #33617F; width: 320px; height: 80px; font-size: 1.1em; font-style: italic; padding: 10px 10px 2px; background:transparent url(../images/tab-background.png); position:absolute; top:0; right:0;} #top-right-tabbed-nav-container #tab-content-container div.tab { display: none; } #top-right-tabbed-nav-container #tab-content-container div.current { display: block; } #top-right-tabbed-nav-container #tab-content-container #addthis-container { position:absolute; top: 27px; right: 0; padding: 10px; width: 320px; text-align: left;} #top-right-tabbed-nav-container #tab-content-container #addthis-container img { padding: 0 9px 4px; display:inline; } #top-right-tabbed-nav-container #tab-content-container #support-container { font-size:12px; position:absolute; top: 27px; right: 0; padding: 10px; width: 320px; text-align: left;} #top-right-tabbed-nav-container #tab-content-container #support-container ol { list-style-type: decimal; margin-left:17px; } #compressor-tab-container #compressor-tab-content-container div.tab { display: none; } #compressor-tab-container #compressor-tab-content-container div.current { display: block; } #compressor-tab-container #compressor-tab-content-container{ float: right; width: 878px; padding: 10px 10px 2px; background:transparent url(../images/tab-background.png);} #compressor-tab-container #compressor-tab-content-container #form-container, #compressor-tab-container #compressor-tab-content-container #instructions-container, #compressor-tab-container #compressor-tab-content-container #about-container {padding: 10px; } #compressor-tab-container #compressor-tab-content-container #instructions-container ol { list-style-type: decimal; margin:0 0 15px 30px; line-height:1.7em; } #compressor-tab-container #compressor-tab-content-container #instructions-container li { margin-left:30px; } #compressor-tab-container #compressor-tab-content-container #instructions-container ul { list-style: disc; margin-left:30px; line-height:1.7em;} #compressor-tab-container #compressor-tab-content-container #instructions-container #compression-methods ul { list-style-type: discs; } #compressor-tab-container #compressor-tab-content-container #instructions-container #advanced-features ul { list-style-type: circle; } #compressor-tab-container #compressor-tab-menu-container { float: left; } #compressor-tab-container #compressor-tab-menu-container li { display: inline; } #compressor-tab-container #compressor-tab-menu-container li a { color: #023d64; float: left; padding: 6px 14px 6px 21px; margin: 0 0 0 2px; background: #96C3E1 url(../images/bullet.gif) no-repeat 7px 12px; font-size: .85em; font-weight: bold; opacity: 0.55; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); -MS-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)\";} #compressor-tab-container #compressor-tab-menu-container li a:hover { color: #071F2D; background: #fff url(../images/bullet_hover.gif) no-repeat 7px 8px; } #compressor-tab-container #compressor-tab-menu-container li a.current { color: #071F2D; background: #fff url(../images/bullet.gif) no-repeat 5px 12px; } #left { float: left; width: 550px; margin: 0 0 10px; text-align: justify; } #left h2 { color: #52A9BA; } #left h2 a { border-bottom: 1px dotted #ACCADE; padding: 0 0 3px; } #left .more { color: #7EA4BC; } .subtitle { font-weight: bold; font-style: italic; font-size: 1.1em; margin: 0 0 4px; } .date { background: #fff; padding: 5px 0; border-right: 1px solid #D3EAFA; border-bottom: 1px solid #D3EAFA; color: #ccc; float: left; width: 55px; margin: 7px 12px 5px 0; text-align: center; } .date span { font-size: 1.6em; } #left_wide { float: left; margin: 0 0 10px; text-align: justify; } #left_wide h2 { color: #52A9BA; } #left_wide h2 a { border-bottom: 1px dotted #ACCADE; padding: 0 0 3px; } #left_wide .more { color: #7EA4BC; } .subtitle { font-weight: bold; font-style: italic; font-size: 1.1em; margin: 0 0 4px; } .date { background: #fff; padding: 5px 0; border-right: 1px solid #D3EAFA; border-bottom: 1px solid #D3EAFA; color: #ccc; float: left; width: 55px; margin: 7px 12px 5px 0; text-align: center; } .promo {margin:7px 12px 5px 0; float: left; } .addthis_toolbox { padding-top:10px;} .date span { font-size: 1.6em; } .seperate {background:transparent url(../images/dot.gif) repeat-x scroll 0 0; padding:15px 0 10px;} .side { float: right; width: 312px; margin: 0 0 30px; font-size: .9em; } .side h3 a{ color: #ccc; margin: 0 0 6px 5px; height: 16px; background:transparent url(../images/jump-link-sm.gif) no-repeat 0 2px; padding-left:15px; } .side h3 a:hover{ color: #fff; } .boxtop { background: url(../images/box.gif) no-repeat top; padding: 2px 0; } .box-syndication { padding: 3px 6px 0 6px; background: #363636; } .box { padding: 3px 6px; background: #363636; } .boxbottom { background: url(../images/box.gif) no-repeat bottom; padding: 2px 0; } .item-view-more { font-size: .94em; display: block; color: #ccc; background: #fff url(../images/item.gif) no-repeat; height: 54px; padding: 4px 10px; clear:left; text-align:center; } .item-view-more:hover { background: #fff url(../images/item.gif) no-repeat bottom; color: #fff; } .item-view-more strong { color: #FFFAD3; line-height: 27px; font-size:2em; } .sidedate { float: left; width: 35px; text-align: center; padding: 4px 9px 0 0; font-size: 1.6em; margin: 0 12px 0 0; border-right: 1px dotted #808080; } .sidedate span { font-size: .6em; font-weight: bold; color: #808080; } .item { font-size: .94em; display: block; color: #ccc; background: #fff url(../images/item.gif) no-repeat; height: 54px; padding: 4px 10px; margin: 0 0 5px; clear:left; } .item.last { margin: 0; } .item:hover { background: #fff url(../images/item.gif) no-repeat bottom; color: #fff; } .item strong { color: #FFFAD3; line-height: 27px; } .sidedate { float: left; width: 35px; text-align: center; padding: 4px 9px 0 0; font-size: 1.6em; margin: 0 12px 0 0; border-right: 1px dotted #808080; } .sidedate span { font-size: .6em; font-weight: bold; color: #808080; } #ad, .ad { background: url(../images/dot.gif) repeat-x; padding: 15px 0 10px; clear: both; font-size: .9em; line-height: 1.7em; text-align:center; } #promo { clear: both; border-top: 3px solid #6E6E6E; background: #505050 url(../images/footer.gif) no-repeat right top; color: #ccc; padding: 30px 0 0 0; } #promo h2 { color: #fff; } #promo a { color: #D9EAF9; border-bottom: 1px dotted #808080; } .col { float: left; width: 280px; margin: 0 30px 20px 0; } .last { margin: 0; } #footer { clear: both; padding: 15px 0; font-size: .84em; color: #808080; border-top: 1px dotted #666; } textarea.passive { width: 100%; color:#333333; font-family:Arial,Helvetica,sans-serif; font-size:1em; height:12em; border: 1px solid #C6E5F9; } textarea.active { width: 100%; color:#333333; font-family:Arial,Helvetica,sans-serif; font-size:1em; height:12em; border: 1px solid #AF1515; background-color:#F7FCFF; } p.minify-app { padding-top:25px; margin:0; float:left; font-style:normal;} p.minify-app-results { padding-top:35px; margin:0; float:left; font-style:normal; } #under-app { padding-top:35px; } .stats {text-align:right; float:right; padding-top:30px; color:#505050; font-size:12px;} .stats .time {background:transparent url(/images/icons-normal.png) no-repeat scroll 0 0; padding:0 0 0 20px; margin-left:25px;} .stats .ratio {background:transparent url(/images/icons-normal.png) no-repeat scroll 0 -48px; padding:0 0 0 20px;} .bottom { padding-top:40px; } .stats .advanced {background:transparent url(/images/advanced.png) no-repeat scroll 0 0; padding:0 0 0 20px; color:#AF1515; cursor:pointer;} .stats .advanced:hover {text-decoration:underline;} .encoding { float:right;} .mover{ padding:3px 0 3px 7px; margin: 0; height:45px; } .mover label {margin-left:5px; font-size:14px; width:155px; float:right;} .clear { /* generic container (i.e. div) for floating buttons */ overflow: hidden; width: 100%; } a.button { background: transparent url('../images/bg_button_a.gif') no-repeat scroll top right; margin-top:5px; color: #444; display: block; float: left; font: normal 12px arial, sans-serif; height: 24px; margin-right: 6px; padding-right: 18px; /* sliding doors padding */ text-decoration: none; } a.button span { background: transparent url('../images/bg_button_span.gif') no-repeat; display: block; line-height: 14px; padding: 5px 0 5px 18px; } a.button:active { background-position: bottom right; color: #000; outline: none; /* hide dotted outline in Firefox */ } a.button:active span { background-position: bottom left; padding: 6px 0 4px 18px; /* push text down 1px */ }"; interface CSSRendering { public function render(); public function renderCSS($min); public function renderEdit(); } /** * Rule: This contains the selector and the properties */ final class Rule implements CSSRendering { protected $selector; protected $contents; // Array of name value pairs } /** * Property */ class Property implements CSSRendering { protected $property; protected $rawValue; public function render() { return "Property name: {$this->rawProperty}, value: {$this->rawValue}" } } final class RuleList implements CSSRendering { protected $list; public function addRule($rule) { $this->list[] = $rule; } public function render() { $rendered = ""; foreach ($this->rule as $rule) { $rendered .= $rule->render() . "\n"; } return $rendered; } public function renderCSS($min=false) { $rendered = ""; if ($min) { foreach ($this->rule as $rule) { $rendered .= $rule->renderCSS($min); } } else { $rendered .= "/**\n * CSS Rendered by CSSDoer\n */\n\n"; foreach ($this->rule as $rule) { $rendered .= $rule->renderCSS($min) . "\n"; } } } } final class CSSParser { protected $rawCSS; protected $cleanCSS; protected $ast; // This isn't really a tree, more like a bush :) public function __construct($rawCSS) { $this->rawCSS = $rawCSS; $this->ast = array(); } private function renderCleanCSS() { $this->cleanCSS = preg_replace( array( '@/\*((.|\n)*?)\*/@', '@(;|\}|{)@', '@;?\s*\}@', '@^\s*@m', '@\s*$@m', '@\n+@m'), array('',"$1\n",";\n}",'','',"\n"), $d); } public function parse() { $this->renderCleanCSS(); } } $parser = new CSSParser($d); $parser->parse;

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
5.4.170.0000.04318.91
5.4.160.0130.05318.90
5.4.150.0130.06319.14
5.4.140.0030.04716.41
5.4.130.0100.07016.34
5.4.120.0100.03016.41
5.4.110.0000.07016.39
5.4.100.0100.03716.46
5.4.90.0130.06716.33
5.4.80.0070.03716.30
5.4.70.0130.06016.43
5.4.60.0070.06316.41
5.4.50.0100.04016.43
5.4.40.0100.03716.46
5.4.30.0130.06716.27
5.4.20.0070.06316.47
5.4.10.0030.08016.43
5.4.00.0030.04715.83
5.3.270.0130.04314.65
5.3.260.0130.07014.63
5.3.250.0070.07714.63
5.3.240.0100.07014.63
5.3.230.0130.03014.69
5.3.220.0170.07014.66
5.3.210.0000.05014.64
5.3.200.0070.04014.48
5.3.190.0070.05314.75
5.3.180.0000.06714.75
5.3.170.0030.07714.63
5.3.160.0100.06714.63
5.3.150.0000.05714.62
5.3.140.0000.08014.58
5.3.130.0070.07314.59
5.3.120.0030.04014.58
5.3.110.0100.07314.73
5.3.100.0070.07014.07
5.3.90.0000.04714.08
5.3.80.0230.06014.11
5.3.70.0100.06014.05
5.3.60.0030.04714.10
5.3.50.0070.07014.02
5.3.40.0100.03314.02
5.3.30.0070.03313.94
5.3.20.0030.06313.68
5.3.10.0070.07013.75
5.3.00.0100.05313.58

preferences:
145.05 ms | 1394 KiB | 7 Q