我在里面有以下php代码 我网站的一部分.
这是一个非常简单的代码,它添加了元名称机器人,wmt工具验证元和rss元.
它工作正常,但有一点:
当我使用IE或Fireforx查看我的页面源时,我看不到元之间的新行.它们在一行上一个接一个地显示.
如何添加新行?有任何想法吗?如果我让他们这样,会有任何问题吗?
这是代码:
if((is_home() && $currentpage == 1) || (is_single() && $title != 'Online' && $title != 'Cam') || (is_category() && $robots == 'y')){
echo '<meta name="robots" content="index,follow"/>';
} else {
echo '<meta name="robots" content="noindex,follow"/>';
}
if(get_option('enable_wmt') == 'y'){
echo '<meta name="google-site-verification" content="'.get_option('wmt').'"/>';
}
if (is_home() && $currentpage == 1){
echo '<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="'.$site_current.'/feed/"/>';
}
Run Code Online (Sandbox Code Playgroud)
嗯,实际上原因很简单,你没有指定任何换行符.如果您希望生成换行符,则必须输出换行符,就像其他所有内容一样.
我通常使用这种语法,因为它不会使代码不可读:
if((is_home() && $currentpage == 1) || (is_single() && $title != 'Online' && $title != 'Cam') || (is_category() && $robots == 'y')){
echo '<meta name="robots" content="index,follow"/>'."\n";
} else {
echo '<meta name="robots" content="noindex,follow"/>'."\n";
}
if(get_option('enable_wmt') == 'y'){
echo '<meta name="google-site-verification" content="'.get_option('wmt').'"/>'."\n";
}
if (is_home() && $currentpage == 1){
echo '<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="'.$site_current.'/feed/"/>'."\n";
}
Run Code Online (Sandbox Code Playgroud)
说明:序列\n是单个换行符的描述.无法直接输入角色有两个原因:
它是一个空白,所以很难处理编辑和
'normal'linebreak在语言语法中有特殊含义.
在php中使用该换行符时,必须用双引号(")括起来.只有当包含在双引号中时,这些特殊字符才会被php解释.如果使用单引号('),则这些序列仍未解释.这是一个偶然派上用场的差异......在这种情况下,它有助于我们坚持使用简单易读的方式来交换字符串以输出到echo命令.我们使用冒号(.)来连接两个字符串并使用双引号来解释特殊字符序列.
为了完整起见,另一个注意事项:在不同情况下如何指定换行符的方式有所不同.最值得注意的是,这是处理不同和不同的操作系统.经典的unix系统(因此也是Linux)使用上面引用的字符(\n如何以十六进制表示法表示0x10),MS-Windows使用两个字符来指定单个换行符:(\n\r十六进制0x10 0x13,或换行符和回车符).较旧的MacOS系统再次使用了不同的东西,尽管当前的MacOSX系统也是基于unix的.由于互联网传统上是unix land(已经在类似unix的系统下开发和增强),因此在互联网技术的许多部分中都可以找到并预期unix行为.
| 归档时间: |
|
| 查看次数: |
840 次 |
| 最近记录: |