2010-11-23 38 views
3

我正在使用PHP来创建一些基本的HTML。这些标签都是一样的,但实际的链接/标题对应的PHP变量:PHP:如何防止不必要的换行符

$string = '<p style="..."><a href="'.$html[$i].'"><strong><i>'.$title[$i].'</i></strong></a> 
<br>'; 
echo $string; 
fwrite($outfile, $string); 

结果HTML,既作为呼应(当我查看网页源文件),并在简单的txt文件,我写如下所示:

<p style="..."><a href="http://www.example.com 
"><strong><i>Example Title 
</i></strong></a></p> 
<br> 

虽然这可行,但它不完全是我想要的。看起来PHP每次中断字符串插入变量时都会添加换行符。有没有办法来防止这种行为?

+6

您是否确定在要插入的变量末尾没有换行符?尝试在trim()中包装它们以查看是否停止它。如果这样做,那么你的变量实际上包含换行符。 – 2010-11-23 01:47:44

回答

2

虽然它不会影响你的HTML页面的换行符在所有的(除非您使用pretext-wrap: pre),你应该能够调用trim()这些变量删除换行符。

要了解你的变量有一个换行符在前面或后面,试试这个正则表达式

var_dump(preg_match('/^\n|\n$/', $variable)); 

(我认为你必须使用单引号所以PHP不把你\n成面值换行符在字符串)。

0

我相信由于多字节编码,换行符显示出来。尝试:

$newstring = mb_substr($string_w_line_break,[start],[length],'UTF-8'); 

这对我解析html后出现奇怪换行符时工作。

相关问题