<html>
<head>
    <title> HTML Script Example </title>
    <style type="text/css">
        body {
            font-family: Helvetica, Geneva, Arial, sans-serif;
            font-size: 1em;
            margin: 4em 15em 4em 4em;
        }
        body.with_sponsor { margin-right: 410px; }
        a.external {
            background: url(../images/external.png) right 50% no-repeat;
            padding-right: 12px;
        }
        code, pre, .file-list {
            font-family: Consolas, Monaco, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace;
        }
    </style>
    <script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'UA-XXXXX-XX']);
        _gaq.push(['_trackPageview']);

        (function() {
            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        })();
    </script>
</head>
<body>

<div style="font-weight: bold"><?= str_replace("\n", "<br/>", $var) ?></div>
<?php
    /***********************************
    ** Multiline block comments
    **********************************/

    $stringWithUrl = "http://alexgorbatchev.com";
    $stringWithUrl = 'http://alexgorbatchev.com';

    ob_start("parseOutputBuffer");      // Start Code Buffering
    session_start();
?>

</body>
</html>