我有一些相当直接的代码,但出了点问题。以下代码
$title = $_POST['templatename'];
$user = $_POST['username'];
$selectedcoordinates = $_POST['templatestring'];
$title = trim($title);
$user = trim($user);
$filename = $title . "_by_" . $user;
var_dump($title);
var_dump($user);
var_dump($filename);
返回:
string(11) "Single Tile"
string(6) "Author"
string(21) "Single Tile_by_Author"
其中值来自HTML表单。为什么"Single Tile"
不成为"SingleTile"
?
答案 0 :(得分:9)
函数trim()
仅从字符串的开头和结尾删除空格(以及控制字符,如\ n)。
$title = str_replace(" ", "", trim($title));
$user = str_replace(" ", "", trim($user));
我只是想解决这个问题。因此,解决方案可能看起来很糟糕。无论如何,最好的用法是使用这种方式:
$title = str_replace(" ", "", $title);
$user = str_replace(" ", "", $user);
我删除了trim()
函数,因为str_replace()
完成了trim()
的工作。
答案 1 :(得分:1)
让我们不仅替换空间,而且替换所有 ASCII控制字符。
X。 Space
Tab
End of Line
$str = preg_replace("/[\\x0-\x20\x7f]/", '', $str);
答案 2 :(得分:1)
array('username','filter','filter'=>'trim')
array('templatename','filter','filter'=>'trim')
在规则
中添加以上行答案 3 :(得分:0)
修剪只删除开头和结尾的空格,而不是所有空格。
str_replace(' ','',$string);
删除所有空格
答案 4 :(得分:0)
http://www.php.net/manual/en/function.trim.php trim - 从字符串的开头和结尾剥去空格(或其他字符)
这意味着trim只会删除字符串末尾和字符串的空格,而不是字符串中的空格。你可以试试这个:
$title = str_replace(' ','',$title);
答案 5 :(得分:0)
您可以使用str_replace()
函数,此函数返回一个字符串或数组,其中所有出现的搜索都被替换为给定的替换值。
$title = str_replace(' ', '', $title);
语法: str_replace(混合$ search,混合$ replace,混合$ subject [,int& $ count])
搜索强>
正在搜索的值,也称为针。阵列可用于指定多个针。
<强>替换强> 替换找到的搜索值的替换值。可以使用数组来指定多个替换。
<强>受试者强>
正在搜索和替换的字符串或数组,也称为haystack。
如果subject是一个数组,那么搜索和替换是对主题的每个条目执行的,返回值也是一个数组。
答案 6 :(得分:0)
修剪边缘。
只需使用:
$title = str_replace(' ', '', $title);
$user = str_replace(' ', '', $user);;
答案 7 :(得分:0)
答案很简单。首先,您需要对函数trim()的作用有基本的了解。
该函数的语法是:
修剪(字符串,charlist);
第二个参数是可选的。如果存在,则会从字符串的结尾中删除charlist
中的字符。
示例:
$str="beautiful day";
echo trim($str, "aby");
输出:
eautiful d
字母a
,b
和y
从字符串的两端删除
但是,如果省略第二个参数,则会从字符串的结尾中删除以下字符。
"\0" - NULL
"\t" - tab
"\n" - new line
"\x0B" - vertical tab
"\r" - carriage return
" " - ordinary white space
在您的情况下,输出为:
string(11) "Single Tile" string(6) "Author" string(21) "Single Tile_by_Author"
Single
和Tile_by_Author
之间的空格仍为空白两个