пожалуйста, помогите мне с функцией обрезки PHP

0

функция trim удаляет все больше пробелов, но когда вы пытаетесь сохранить данные в базе данных, она сохранялась с большим количеством пробелов, почему просьбы помогают мне, но не все кодовые и базы данных, чтобы помочь

CREATE TABLE  `test`.`user` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` VARCHAR( 30 ) NOT NULL
) ENGINE = MYISAM ;

////////////////////////
<?php
    $conn = mysql_connect("localhost","root","");
    if(!$conn){
        die("there is problem in" .mysql_error());
    }
    $select_db = mysql_select_db("test",$conn);
    if(!$select_db){
        die("there is problem in" .mysql_error());
    }
?>
<?php
if(isset($_POST["submit"])){
    $fname = trim($_POST["text"]);
    $name = trim($fname);
    $insert = mysql_query("insert into user(username)values('{$name}')");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<form action="" method="post">
<input type="text" name="text" value=""/>
<input type="submit" name="submit" value="submit"/>
</form>
<body>
</body>
</html>
  • 0
    Пожалуйста, приведите пример.
  • 0
    Вы должны показать нам данные, которые вы используете, и результаты, которые вы получаете. Кроме того, никогда не помещайте неэкранированные данные в запрос.
Показать ещё 2 комментария
Теги:

2 ответа

3

Функция trim удаляет только начальные и конечные пробелы, а не пробелы внутри текста. Вы можете использовать preg_replace для этого, например:

$output = preg_replace('!\s+!', ' ', $input);

Источник: php Замена нескольких пространств одним пространством

  • 0
    Вау, спасибо, не могли бы вы сказать мне название книги или сайта?
  • 0
    Отличное место для начала - просмотр скринкаста « Регулярные выражения для чайников» ( части 2-5 ). Есть также хороший учебник на регулярном выражении , и вы можете легко протестировать регулярное выражение в Интернете с помощью RegExr .
1

Даже проще, чем использовать регулярное выражение

$without_spaces = str_replace(" ", "", $_POST["text"]);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню