有没有办法检查字符串开头的空格?我试过strpos,但看起来不起作用。我使用$_POST['text']=" hi"
并在我的代码中输出ok
。它假设是一个错误。
<form action="#" method="POST">
text <input type='text' name='text'/><br/>
<input type='submit' value='submit'/>
</form>
<?php
if(isset($_POST['text']) && !empty($_POST['text']))
{
if(strpos($_POST['text'],' '))
{
echo 'found white space';
}
else
{
echo 'not found';
}
}
else
{
echo 'none';
}
答案 0 :(得分:1)
strpos()
将搜索整个字符串。在结束和中间。
此外,您应该始终使用!== false
resp。与=== false
一起使用时strpos()
。
您可以将此问题用于解决您的问题:
if (ctype_space($_POST['text'][0])) {
}
ctype_space()
优于$_POST['text'][0] == ' '
,因为它还会检查制表符或空字符等。
PS:如果您只想删除空格,请使用trim()
。如果您只想在左侧删除,则可以使用ltrim()
。
答案 1 :(得分:0)
使用strpos
,您可以找到字符串中的所有空格(或者更好,字符串中的第一个空格,而不是第一个字符)。使用substr
测试第一个字符。
if (!empty($_POST['text'])) {
if (substr($_POST['text'], 0, 1) == ' ') {
echo 'First char is space';
} else {
echo 'First char isn\'t space';
}
} else {
echo 'String is empty.';
}
答案 2 :(得分:0)
if(ltrim($str) == $str)
{
echo 'No Space';
}
else
{
echo 'There are space';
}
此代码将检查字符串开头是否有空格。
答案 3 :(得分:0)
我找到了你的答案。答案非常简单,您必须使用虚假和真实的陈述来检查天气是否有空间。我已经编辑了你的答案,请检查一下。
<form action="#" method="POST">
text <input type='text' name='text'/><br/>
<input type='submit' value='submit'/>
</form>
<?php
if(isset($_POST['text']) && !empty($_POST['text']))
{
$sx=strpos($_POST['text'],' ');
if($sx==true)
{
echo 'found white space';
}
else
{
echo 'not found';
}
}
else
{
echo 'none';
}
告诉它是否有效