Home >Backend Development >PHP Tutorial >Solution to blank lines appearing in http://www.kaqima.com/index.ht php template

Solution to blank lines appearing in http://www.kaqima.com/index.ht php template

WBOY
WBOYOriginal
2016-07-29 08:44:323516browse

It was solved locally, but there were still blank lines when uploading to the server. After working on it all morning, it almost crashed. Finally, I decided to find a way to solve it myself. After several hours of exploration, I finally found a perfect solution.
Using the PHP display buffer display principle, successfully removed
Add a line of ob_start() at the top of PHP; then add ob_end_clean() before the template is displayed; add ob_end_flush() after the template is displayed;
This problem is solved , now give the overall structure example code:

Copy code The code is as follows:


ob_start(); //This is the php logical operation
ob_end_clean(); //This is PHP template display
ob_end_flush();
?>


Additions from other netizens:
A problem that has never been solved during development, favorite
 The page uses UTF8 encoding, and the header and tail use the method of template inclusion files. As a result, there is an extra blank line of about 10px at the head and the tail for no reason, and there is nothing.
 The reason is that they are all encoded in utf8. When including files, the final binary stream contains multiple UTF8 BOM tags. IE cannot parse pages containing multiple UTF8 BOM tags normally and directly replaces them with the actual displayed carriage return, which causes A blank line, but firefox doesn't have this problem.
 So if the template uses the inclusion method to contain multiple utf8 files and needs to be saved with ultraedit, just select utf8 and save it in no BOM format.
 In addition, if the Chinese page puts the title tag in front of in the html head tag, the page will be blank.
 So utf8 The page should use the standard order

Copy the code The code is as follows:











< /title> <br></p> <br>BOM header: xEFxBBxBF, PHP4 and 5 still ignore BOM, so they are output directly before parsing. <br>There is a special description of this issue in the w3.org standard FAQ: <br>http://www .w3.org/International/questions/qa-utf8-bom <br>The details are as follows: <br>There is a character called "ZERO WIDTH NO-BREAK SPACE" in UCS encoding, and its encoding is FEFF, while FFFE is not in UCS. The characters exist, so they should not appear in the actual transmission. The UCS specification recommends that we transmit the character "ZERO WIDTH NO-BREAK SPACE" before transmitting the byte stream. This way, if the receiver receives FEFF, it indicates this byte stream. It is Big-Endian; if FFFE is received, it means that the byte stream is Little-Endian. Therefore, the character "ZERO WIDTH NO-BREAK SPACE" is also called BOM <br>UTF-8 does not require BOM to indicate the byte. The sequence, but the BOM can be used to indicate the encoding method. The UTF-8 encoding of the character "ZERO WIDTH NO-BREAK SPACE" is EF BB BF, so if the receiver receives a byte stream starting with EF BB BF, it knows that this is. UTF-8 encoded. <br>Windows is an operating system that uses BOM to mark the encoding method of text files: WindowsXP Professional, default character set: Chinese<br>1) notepad: can automatically identify utf-8 encoding format files without BOM, but cannot control the saving Whether to add bom when file is saved. If the file is saved, bom will be added uniformly. <br>2) editplus: cannot automatically recognize files in UTF-8 encoding format without BOM. When saving the file, select UTF-8 format and will not write BOM header in the file header. <br>3) UltraEdit: has the best character encoding function Powerful, it can automatically identify utf-8 files with and without BOM (can be configured); when saving, you can choose whether to add BOM through configuration. <br> (Special note is that when saving a newly created file, you need to select Save as utf-8 no bom format) <br> Later I found that Notepad ++ also has better support for utf-8 bom, and I recommend everyone to use it. <br> <p> The above has introduced the solution to the problem of empty lines in the http://www.kaqima.com/index.ht PHP template, including the content of http://www.kaqima.com/index.ht. I hope you can learn more about PHP tutorials. Interested friends help. </p> <p> </p></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>Statement:</span><div>The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn</div></div></div><div class="nphpSytBox"><span>Previous article:<a class="dBlack" title="smart flash recovery php Smarty character comparison code" href="https://m.php.cn/faq/323139.html">smart flash recovery php Smarty character comparison code</a></span><span>Next article:<a class="dBlack" title="smart flash recovery php Smarty character comparison code" href="https://m.php.cn/faq/323141.html">smart flash recovery php Smarty character comparison code</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>Related articles</h2><em><a href="https://m.php.cn/article.html" class="bBlack"><i>See more</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="https://m.php.cn/faq/1.html" title="How to use cURL to implement Get and Post requests in PHP" class="aBlack">How to use cURL to implement Get and Post requests in PHP</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/faq/1.html" title="How to use cURL to implement Get and Post requests in PHP" class="aBlack">How to use cURL to implement Get and Post requests in PHP</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/faq/1.html" title="How to use cURL to implement Get and Post requests in PHP" class="aBlack">How to use cURL to implement Get and Post requests in PHP</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/faq/1.html" title="How to use cURL to implement Get and Post requests in PHP" class="aBlack">How to use cURL to implement Get and Post requests in PHP</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/faq/2.html" title="All expression symbols in regular expressions (summary)" class="aBlack">All expression symbols in regular expressions (summary)</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>Public welfare online PHP training,Help PHP learners grow quickly!</p></div><div class="footermid"><a href="https://m.php.cn/about/us.html">About us</a><a href="https://m.php.cn/about/disclaimer.html">Disclaimer</a><a href="https://m.php.cn/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body><!-- Matomo --><script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://tongji.php.cn/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '9']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script><!-- End Matomo Code --></html>