我正在使用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每次中断字符串以插入变量时都会添加换行符。有没有办法防止这种行为?
答案 0 :(得分:2)
虽然使用换行符不会影响您的HTML页面(除非您使用的是pre
或text-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后出现奇怪的换行符时,这对我有用。