摆脱 \r\n [关闭]
Posted
技术标签:
【中文标题】摆脱 \\r\\n [关闭]【英文标题】:Getting rid of \r\n [closed]摆脱 \r\n [关闭] 【发布时间】:2013-06-14 00:45:28 【问题描述】:我正在从数据库中打印出文本,但我不断收到 \r\n,但我不完全确定原因。这就是我的代码的样子
form action="portal.php" method="post" class="label-top">
<div>
<label for="name">News Message</span></label>
<form method="post" action="" name="bio">
<textarea name="bio" cols="25" rows="5">
<?php echo stripslashes($_SESSION['bio']) ?>
</textarea><br>
我正在尝试使用stripslashes,但它不起作用
我希望我的文字像这样打印出来
Test
Test
但实际上是这样的
Test\r\nTest
编辑
在关注你们之后,一切似乎都很好,直到我发布它。 我认为我的 POST 方法有问题
如果有人有时间仔细阅读,将不胜感激。
<?php
include("mysql_connect.php");
session_start();
if( $_SESSION['login'] != 1 )
header( 'Location:login.php' ) ;
if($_SERVER['REQUEST_METHOD'] == 'POST')
$bio = mysql_real_escape_string($_POST['bio']);
$user_input = mysql_query("UPDATE members SET bio ='$bio' WHERE username='$_SESSION[username]' ");
$_SESSION['bio'] = $bio;
if($_SERVER['REQUEST_METHOD'] == 'POST2')
$bio = mysql_real_escape_string($_POST['notification']);
$user_input = mysql_query("UPDATE members SET notification ='$notification' WHERE username='$_SESSION[username]' ");
$_SESSION['notification'] = $notifiation;
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;">
<title>APPSTARME</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<header>
<div class="logo">
<a href="login.php">
<img src="images/logo.png" />
</a>
</div>
<div class="clear"></div>
</header>
<div class="content">
<article>
<h2 class="underline">Logged in as <?php echo ucfirst($_SESSION['username']); ?> </span></h2>
<form action="portal.php" method="post" class="label-top">
<div>
<label for="name">News Message</span></label>
<form method="post" action="" name="bio">
<textarea name="bio" cols="25" rows="5">
<?php
echo nl2br($_SESSION['bio']); ?>
</textarea><br>
<input type="submit" value="Update Message" /></form>
</div>
【问题讨论】:
我很担心你是如何检查你的请求的。而不是你的条件检查 REQUEST_METHOD,使用 $_POST 全局数组。此外,您不应该偏离 HTTP。使用 POST,并在其中使用条件。不要创建另一个名为 POST2 的方法 当我登录时一切看起来都很好,但是当我用 post 方法更新它时,一切又回到了 \r\n\ 问题 【参考方案1】:你需要nl2br($_SESSION['bio'])
编辑:
既然你应该打印<textarea>
里面的文字,试试这个:
preg_replace("/\r\n|\r|\n/",' ',$_SESSION['bio']')
&#13;
是Carriage return。
【讨论】:
我承认。忘记这个了。 文本区域内的<br/>
将呈现为<br/>
,并且不会导致换行。 jsfiddle.net/SkDHd【参考方案2】:
stripslashes
不会删除 \r\n
你需要:preg_replace('~\r?\n~','<br/>', $string);
【讨论】:
【参考方案3】:这应该可以解决问题:
<?php
$string = "Hello\r\nWorld\r\n!\r\n";
$string = nl2br($string);
echo $string;
?>
祝你好运。
我建议查看this 帖子以获取有关您的问题的更多信息。
【讨论】:
以上是关于摆脱 \r\n [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
扫描仪:摆脱“资源泄漏:'<unassigned Closeable value>' 永远不会关闭”
我的 Python 应用程序与 cli 一起启动如何摆脱它 [关闭]