显示文件-PHP行内容前面的空白
我目前正在使用foreach循环来显示文本文件的内容。但是,我还想显示行的实际内容之前的空白。如何做到这一点显示文件-PHP行内容前面的空白,php,html,whitespace,Php,Html,Whitespace,我目前正在使用foreach循环来显示文本文件的内容。但是,我还想显示行的实际内容之前的空白。如何做到这一点 $loop_var = 0; foreach($lines as $line) { $loop_var++; if ($loop_var == 1) { echo'<div id="h1">' . $line . '</div>'; } if ($loop_var
$loop_var = 0;
foreach($lines as $line) {
$loop_var++;
if ($loop_var == 1) {
echo'<div id="h1">' . $line . '</div>';
}
if ($loop_var == 2) {
echo '<div id="h2">' . $line . '</div><br />';
}
if ($loop_var > 2) {
if ($loop_var == 3) { echo '<pre><div id="code">'; }
echo ($line) . "<br />";
}
}
echo '</pre></div>';
它将显示为:
print '<pre>'.file_get_contents('filename.txt').'</pre>';
使用
标记,并将文本文件的内容打印到此文件中。
例如:
打印“”。文件获取内容('filename.txt');
逐行(带条件)
$file=fopen('filename','r');
打印“”;
$counter=0;
而($line=fgets($file)){
如果(/*条件出现在此处,即您要打印的行。示例:*/$counter>=2){
打印$行;
}
如果(/*条件出现在此处,您希望在此处结束打印。示例:*/$counter>=10)
$counter++;
}
打印“”;
fclose($文件);
使用
标记,并将文本文件的内容打印到此文件中。
$file = fopen('filename','r');
print '<pre>';
$counter = 0;
while( $line = fgets($file) ){
if( /*the condition comes here whitch line you want to print. example: */ $counter >= 2 ){
print $line;
}
if( /*the condition comes here where wants you end the printing. example: */ $counter >= 10 )
$counter++;
}
print '</pre>';
fclose($file);
例如:
打印“”。文件获取内容('filename.txt');
逐行(带条件)
$file=fopen('filename','r');
打印“”;
$counter=0;
而($line=fgets($file)){
如果(/*条件出现在此处,即您要打印的行。示例:*/$counter>=2){
打印$行;
}
如果(/*条件出现在此处,您希望在此处结束打印。示例:*/$counter>=10)
$counter++;
}
打印“”;
fclose($文件);
当您从文件中读取文本并再次输出该文本时,空白仍然存在
但是:如果您正在输出HTML,并且在浏览器中查看输出,则忽略空白。这只是浏览器显示html的正常方式
使用浏览器查看HTML源代码(例如firefox中的CTRL-U)以检查是否存在这种情况
如果希望在网页中显示空白,可以使用pre标记,或使用CSS属性“whitespace”
或
请参见此处的演示:当您从文件中读取文本并再次输出该文本时,空白仍然存在 但是:如果您正在输出HTML,并且在浏览器中查看输出,则忽略空白。这只是浏览器显示html的正常方式 使用浏览器查看HTML源代码(例如firefox中的CTRL-U)以检查是否存在这种情况 如果希望在网页中显示空白,可以使用pre标记,或使用CSS属性“whitespace”
或
请看这里的演示:好吧,如果您愿意,您可以使用蛮力。。。除非你真的被卡住了 1) 使用strlen()获取字符串的长度 2) 在字符串中的字符上运行一个循环,并检查是否有空格strpos 3) 将html空间连接为空字符串,并在打印前打印
$str=“这里有什么……”;
$spaces=“”;
对于($i=0;$i好吧,如果你愿意,你可以用蛮力来强迫它……除非你真的被卡住了
1) 使用strlen()获取字符串的长度
2) 在字符串中的字符上运行一个循环,并检查是否有空格strpos
3) 将html空间连接为空字符串,并在打印前打印
$str=“这里有什么……”;
$spaces=“”;
对于($i=0;$i实际上这对我的情况没有帮助,因为我不想一次显示整个文件,因为前两行包含一些不同的信息。这只是一个例子。我想你还有代码的其他部分。我用一行一行的解决方案编辑答案Kay nevermind,我得到了要点。但我没有显示前面的内容字符它在行之前添加了一个换行符。好吧,它可以工作。我忘记删除了我为处理此问题而添加的一段代码。但是,换行符问题仍然存在。如果您使用
或您可以使用nl2br($line),则不需要
如果您想使用
,这会将行尾转换为
标记。但是代码中额外的
会导致额外的换行。在
标记中,换行符在html中也显示为真正的换行符。实际上,这对我的情况没有帮助,因为我不想一次显示整个文件wo行包含一些不同的信息。这只是一个例子。我认为你有代码的其他部分。我用一行一行的解决方案编辑答案。Kay nevermind,我得到了要点。但是它没有显示前面的字符,而是在行之前添加了一个换行符。好吧,它起作用了。我忘了删除我为处理而添加的一段代码但是,换行符问题仍然存在。如果使用
或可以使用nl2br($line),则不需要使用
如果你想使用
,这会将行尾转换为
标记。但是代码中多余的
会导致额外的换行。在
标记中,换行符在html中也显示为真正的换行符。我已经将你的问题重新标记为html,假设这就是你所说的。尝试使用描述无论您的问题涉及的是哪种语言和/或技术;Stack Overflow是一个涵盖所有编程语言的论坛。很抱歉我的无知。我认为这更多的是一个PHP问题,而不是HTML问题。为什么PHP应该删除空白而不是,例如,字母c
?;-)还有一件事:最后您切换了关闭的标记:echo'
,如果您希望使用更少的标记,您不需要在pre
标记中使用
,只需添加id=“code”
topre
我怎么没有想到这一点..再次感谢。我已经将您的问题标记为HTML,假设这就是您所说的。尝试使用描述您的问题所涉及的语言和/或技术的标记;Stack Overflow是一个涵盖所有编程语言的论坛。对不起,我的ig
print '<pre>'.file_get_contents('filename.txt').'</pre>';
$file = fopen('filename','r');
print '<pre>';
$counter = 0;
while( $line = fgets($file) ){
if( /*the condition comes here whitch line you want to print. example: */ $counter >= 2 ){
print $line;
}
if( /*the condition comes here where wants you end the printing. example: */ $counter >= 10 )
$counter++;
}
print '</pre>';
fclose($file);
<pre><?php echo $file_content ?></pre>
<p style="whitespace:pre;"><?php echo $file_content ?></p>
$str = " whatever is in here ... ";
$spaces = "";
for( $i=0; $i<strlen($str); $i++ ){
if( strpos( $str, ' ', $i ) ){
$spaces .= " ";
}
}