PHP:如何防止不必要的换行

时间:2010-11-23 01:45:06

标签: php html xhtml

我正在使用PHP创建一些基本的HTML。标签总是相同的,但实际的链接/标题对应于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每次中断字符串以插入变量时都会添加换行符。有没有办法防止这种行为?

3 个答案:

答案 0 :(得分:2)

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

要确定您的变量在前面或后面是否有换行符,请尝试使用此正则表达式

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

(我认为你必须使用单引号,因此PHP不会将你的\n转换为字符串中的文字换行符。)

答案 1 :(得分:1)

我的猜测是你的变数应该受到指责。您可以尝试使用trim http://us2.php.net/trim清除它们。

答案 2 :(得分:0)

我相信,由于多字节编码,换行符会出现。尝试:

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

在解析html后出现奇怪的换行符时,这对我有用。