Php 删除新行
我在一个类中有一个函数:Php 删除新行,php,replace,break,lines,Php,Replace,Break,Lines,我在一个类中有一个函数: public function displayComments($postorpage, $id_postorpage){ $query = mysql_query("SELECT * FROM `".DB."`.`mmsv_servers_page_comments` WHERE `id_postorpage`='$id_postorpage'"); while($comment = mysql_fetch_object($query)
public function displayComments($postorpage, $id_postorpage){
$query = mysql_query("SELECT * FROM `".DB."`.`mmsv_servers_page_comments` WHERE `id_postorpage`='$id_postorpage'");
while($comment = mysql_fetch_object($query)){
$added = new Time;
$elapsed = $added->displayElapsedSignificant($comment->data);
echo "
<h3>$comment->nick</h3>
<i>$elapsed</i>
<p>".addSecurityView($comment->text)."</p>
";
}
}
尝试使用strtr函数和替换对。
尝试使用strtr函数和替换对。 在这里试试这个
$string = trim(preg_replace('/\s+/', ' ', $string));
这是一个简单的安全输出函数
function secureOutput($string) {
$string = trim(preg_replace('/\s+/', ' ', $string)); //this will remove multiple whitespaces
return htmlentities($string, ENT_QUOTES);
}
试试这个
$string = trim(preg_replace('/\s+/', ' ', $string));
这是一个简单的安全输出函数
function secureOutput($string) {
$string = trim(preg_replace('/\s+/', ' ', $string)); //this will remove multiple whitespaces
return htmlentities($string, ENT_QUOTES);
}
我相信这对你和我都有效
<?php
$trans = array("\r" => "" , "\n" => "");
echo strtr("\n hi and \r hi", $trans);
?>
并考虑从MySQL到MySQL或PDO
< P>的改变,我相信这应该与您一起工作,因为它与我工作<?php
$trans = array("\r" => "" , "\n" => "");
echo strtr("\n hi and \r hi", $trans);
?>
并考虑从MySQL更改为mySQL或PDO/P>您的代码对我起作用。它不会删除所有换行符,只有当一行中有两个换行符时,才会将它们转换为一个换行符。为什么需要这样做,额外的换行符在HTML中没有任何区别(在
块中除外)。如果要从动态观察换行,请尝试$new=preg\u replace(“#\r | \n#,”,“$data”)代码>你的代码对我有用。你说应该删除断线。它不会删除所有换行符,只有当一行中有两个换行符时,才会将它们转换为一个换行符。为什么需要这样做,额外的换行符在HTML中没有任何区别(在
块中除外)。如果要从动态观察换行,请尝试$new=preg\u replace(“#\r | \n#,”,“$data”)
@MuchaZ:您还可以告诉特定输入的预期输出,而不只是说它不起作用。(然后当然要提到输入和预期输出。)我在DB中有一个字段:“一些注释。\r\n\r\n\r\n\r\n”,我想显示它,但不带“\r\n\r\n\r\n”。正则表达式将删除所有多个空格,包括新行,您确定在DB中有新行而不是文字吗?我在DB中不需要它们,但是我不能在函数中排除它们:函数addSecurity($value){$tochange=addslashes(htmlspecialchars(mysql\u real\u escape\u string($value));$return=str\u replace(数组(“”,“;”,“
”,“*”,“\r”,“\n”),“,$tochange);return$return;}`为什么要在输出上使用实\u escape\u字符串?还有斜杠吗?你能告诉我你现在得到了什么输出吗?就像用户会做的那样see@MuchaZ:您还可以告诉特定输入的预期输出,而不只是说它不起作用。(然后当然要提到输入和预期输出。)我在DB中有一个字段:“一些注释。\r\n\r\n\r\n\r\n”,我想显示它,但不带“\r\n\r\n\r\n”。正则表达式将删除所有多个空格,包括新行,您确定在DB中有新行而不是文字吗?我在DB中不需要它们,但是我不能在函数中排除它们:函数addSecurity($value){$tochange=addslashes(htmlspecialchars(mysql\u real\u escape\u string($value));$return=str\u replace(数组(“”,“;”,“
”,“*”,“\r”,“\n”),“,$tochange);return$return;}`为什么要在输出上使用实\u escape\u字符串?还有斜杠吗?你能告诉我你现在得到了什么输出吗?就像用户会做的那样see@MuchaZ对我来说,如果你能准确地告诉我你想要它是什么,以及当你尝试这段代码时会发生什么,那就更容易了。不仅如此,我想你还可以试着用\r
和\n
来代替它。@HamZa即使它能工作,也一样,没有任何东西能工作change@AlmoullimDev. 不,不一样。尝试echo“a/r/nb”代码>和回显“a\r\nb”代码>。检查difference@HamZa哦,很抱歉,我以为你指的不是\n和\r使用\r和\n,我没有关注(/,\)@MuchaZ。如果你能准确地告诉我你想要它是什么,以及当你尝试此代码时会发生什么,对我来说会更容易。不仅如此,我想你还可以试着用\r
和\n
来代替它。@HamZa即使它能工作,也一样,没有任何东西能工作change@AlmoullimDev. 不,不一样。尝试echo“a/r/nb”代码>和回显“a\r\nb”代码>。检查difference@HamZa哦,很抱歉,我以为你指的不是\n和\r使用\r和\n,我没有关注(/,\)你的代码和strtr对我来说都有用。“这意味着要去除断裂线”-可能是因为这个。您的代码不会删除换行符,而是将2个换行符替换为1个换行符。您的代码和strtr都适用于我。“这意味着要去除断裂线”-可能是因为这个。您的代码不会删除换行符,而是将2个换行符替换为1个换行符。