PHP 删除空格 - "ghost" 行出现
PHP remove whitespaces - "ghost" lines appear
我有一个 HTML 表单,它查询 MySQL 数据库中的条目,并将这些值输入到几个文本区域,在那里可以编辑它们并随后保存这些更改。
SQL/PHP 交互似乎有效发现,我得到了查询的信息并且能够相应地更新数据库。但是,每当我访问 (string) 信息并将 echo
this 放入文本区域时,突然在实际字符串内容前面不知从哪里插入了四个空行。
我不明白这些空行是从哪里来的,也不知道如何去掉它们。
这是来自表单文本区域的代码:
<textarea
name="MicroLoc_Entry"
id="MicroLoc_Entry"
style="position:absolute;left:581px;top:45px;width:73px;height:18px;z-index:14;"
rows="1"
cols="1"
spellcheck="false"
>
<?php
include ('db_connect.php');
$ID = $_POST['ItemID'];
$sql = "SELECT MicroLoc from Main WHERE ItemID = ".$ID ;
$result = mysqli_query($link, $sql);
$res = mysqli_fetch_array($result);
$msg = $res['MicroLoc'];
echo preg_replace('/\s\s+/', '', $msg);
?>
</textarea>
使用 ltrim($string)
或 preg_replace('/\s+/g', '', $string)
或 preg_replace('/\s\s+/', '', $string)
只会将空白减少为两个额外的空行,但不会将它们全部删除。
非常感谢您的帮助!
运行 您在 <textarea>
之前的代码,然后在 <textarea>
中回显结果。
因此,如果您的代码生成任何换行符 - 它将在 <textarea>
.
之外
<?php
include ('db_connect.php');
$ID = $_POST['ItemID'];
$sql = "SELECT MicroLoc from Main WHERE ItemID = ".intval($ID) ;
$result = mysqli_query($link, $sql);
$res = mysqli_fetch_array($result);
$msg = $res['MicroLoc'];
$echomsg = preg_replace('/\s\s+/', '', $msg);
?>
<textarea
name="MicroLoc_Entry"
id="MicroLoc_Entry"
style="position:absolute;left:581px;top:45px;width:73px;height:18px;z-index:14;"
rows="1"
cols="1"
spellcheck="false"
><?php echo $echomsg; ?></textarea>
另外请确保 <textarea>
和 </textarea>
标签之间没有任何其他空格或换行符。因为这些也可能是不需要的符号的来源。
我有一个 HTML 表单,它查询 MySQL 数据库中的条目,并将这些值输入到几个文本区域,在那里可以编辑它们并随后保存这些更改。
SQL/PHP 交互似乎有效发现,我得到了查询的信息并且能够相应地更新数据库。但是,每当我访问 (string) 信息并将 echo
this 放入文本区域时,突然在实际字符串内容前面不知从哪里插入了四个空行。
我不明白这些空行是从哪里来的,也不知道如何去掉它们。
这是来自表单文本区域的代码:
<textarea
name="MicroLoc_Entry"
id="MicroLoc_Entry"
style="position:absolute;left:581px;top:45px;width:73px;height:18px;z-index:14;"
rows="1"
cols="1"
spellcheck="false"
>
<?php
include ('db_connect.php');
$ID = $_POST['ItemID'];
$sql = "SELECT MicroLoc from Main WHERE ItemID = ".$ID ;
$result = mysqli_query($link, $sql);
$res = mysqli_fetch_array($result);
$msg = $res['MicroLoc'];
echo preg_replace('/\s\s+/', '', $msg);
?>
</textarea>
使用 ltrim($string)
或 preg_replace('/\s+/g', '', $string)
或 preg_replace('/\s\s+/', '', $string)
只会将空白减少为两个额外的空行,但不会将它们全部删除。
非常感谢您的帮助!
运行 您在 <textarea>
之前的代码,然后在 <textarea>
中回显结果。
因此,如果您的代码生成任何换行符 - 它将在 <textarea>
.
<?php
include ('db_connect.php');
$ID = $_POST['ItemID'];
$sql = "SELECT MicroLoc from Main WHERE ItemID = ".intval($ID) ;
$result = mysqli_query($link, $sql);
$res = mysqli_fetch_array($result);
$msg = $res['MicroLoc'];
$echomsg = preg_replace('/\s\s+/', '', $msg);
?>
<textarea
name="MicroLoc_Entry"
id="MicroLoc_Entry"
style="position:absolute;left:581px;top:45px;width:73px;height:18px;z-index:14;"
rows="1"
cols="1"
spellcheck="false"
><?php echo $echomsg; ?></textarea>
另外请确保 <textarea>
和 </textarea>
标签之间没有任何其他空格或换行符。因为这些也可能是不需要的符号的来源。