我正在使用PHP中的MYSQL数据库打印页面内容。我在db中有一个名为$ row ['description']
的文本字段将用户输入存储到db时我只使用mysql_real_escape_string()所以我不编辑html
问题是我使用db中的这个字段作为html pages元描述标记。因此,如果用户在描述中插入换行符,则会在元描述标记内的页面源代码中导致换行符。我试图通过使用循环跳过br格式来删除换行符。我使用nl2br转换为br。
$desc_array=(explode(" ", $row['description']));
for($i=0; $i < 17;$i++){
if(nl2br($desc_array[$i])=="<br />" || nl2br($desc_array[$i])=="<br/>"){
$i++;
}
我检查了我的SQL文件,换行符显示为
\r\n\r\n
我试图像
那样检查这种格式 $desc_array[$i])=="\r\n\r\n"
$desc_array[$i])=="\r\n"
$desc_array[$i])=="\n"
$desc_array[$i])=="\r"
但仍会在描述标记中打印换行符。有什么想法吗?
答案 0 :(得分:5)
$string = str_replace(array("\r", "\n"), array('', ''), $string);
答案 1 :(得分:0)
当我一遍又一遍地遇到这种情况时,我会告诉你我的意见。
有时修剪\r\n
,\n
会有所帮助,有时则不会。
在少数情况下,我发现我必须像这样删除:
<?php
$desc = "This
is a description";
// this is just a line break [enter]
$newDesc = str_replace("
", " ", $desc); // witch outputs This is a description
?>
我从来没有好奇心找出它为什么不想要\ r \ n或\ n,也许我现在要说明了:)