如何删除 psql 插入中的空格?
How can I remove white spaces in a psql insert?
我有一个文本输入:
<label for="pt"><b style="color:white"> Company name </b></label>
<input type="text" name="company" maxlength="100" required>
我想插入一个 psql 数据库:
$comp= $_POST["company"];
$comptr = trim($comp);
当我插入它时,没有任何反应。 table 中的数据保持不变,但有多个空格
这是插页:
$queryres = "insert into company (v1, v2, ...) VALUES ('$comptr ','$v2', ...)";
$resultsel = pg_query($con, $queryres);
示例:
我在输入中写了这个:
" TEST COMP. "
在table中留下了这个:
" TEST COMP. "
我想改成这样:
"TEST COMP."
您可以删除文本中的多个空格,trim()
不行,但是 preg_replace()
就可以了。组合 trim()
和 preg_replace()
.
$comp = $_POST["company"];
echo trim(preg_replace('/\s+/', ' ', $comp));
// putput: TEST COMP.
preg_replace() https://www.php.net/manual/de/function.preg-replace.php
我更喜欢此解决方案的较短形式,组合使用 ltrim() 和 rtrim
$comp = ltrim(rtrim($_POST["company"]));
var_dump($comp);
// output: TEST COMP.
rtrim() - 从字符串末尾去除空格(或其他字符)
ltrim() - 从字符串开头去除空格(或其他字符)。
我有一个文本输入:
<label for="pt"><b style="color:white"> Company name </b></label>
<input type="text" name="company" maxlength="100" required>
我想插入一个 psql 数据库:
$comp= $_POST["company"];
$comptr = trim($comp);
当我插入它时,没有任何反应。 table 中的数据保持不变,但有多个空格
这是插页:
$queryres = "insert into company (v1, v2, ...) VALUES ('$comptr ','$v2', ...)";
$resultsel = pg_query($con, $queryres);
示例:
我在输入中写了这个:
" TEST COMP. "
在table中留下了这个:
" TEST COMP. "
我想改成这样:
"TEST COMP."
您可以删除文本中的多个空格,trim()
不行,但是 preg_replace()
就可以了。组合 trim()
和 preg_replace()
.
$comp = $_POST["company"];
echo trim(preg_replace('/\s+/', ' ', $comp));
// putput: TEST COMP.
preg_replace() https://www.php.net/manual/de/function.preg-replace.php
我更喜欢此解决方案的较短形式,组合使用 ltrim() 和 rtrim
$comp = ltrim(rtrim($_POST["company"]));
var_dump($comp);
// output: TEST COMP.
rtrim() - 从字符串末尾去除空格(或其他字符)
ltrim() - 从字符串开头去除空格(或其他字符)。