nl2br()函数
我们在换行时使用的一般都是<br>,但是在大段需要换行的代码时,使用<br>就有些繁琐了,这时就可以使用nl2br()函数了
nl2br()函数是在所以新行之前插入HTML换行标记,它的语法为
string nl2br(string $string[,bool $is_xhtml = true])
它的意思就是在字符串string所有新行之前插入'<br />'或'<br>'并返回
下面有个例子
$str = <<<STR
张三,男,20
李四,女,19
王五,男,20
STR;
$str = nl2br($str);//nl表示换行2br表示转换成br
echo $str;
结果为
张三,男,20
李四,女,19
王五,男,20
其中nl2br中的nl表示换行,2br表示转换为br
strpos()函数
strpos()函数是查找字符串首次出现的位置
它的语法为
int strpos(string $haystack,mixed $needle[,int $offset = 0])
haystack : 在该字符串中进行查找
needle :
如果 needle
不是一个字符串,那么它将被转换为整型并被视为字符的顺序值。
offset :
可选的 offset
参数可以用来指定从 haystack
中的哪一个字符开始查找。返回的数字位置是相对于 haystack
的起始位置而言的
它的返回值是以整型返回位置信息,如果没有找到needle,strpos()函数将会返回布尔类型的false值
如下例
$str = "查找关键词(或违禁词),如爆头";
$n = strpos($str,'爆头');
var_dump($n);
if($n >= 0){
echo '找到爆头';
}else{
echo '没有找到爆头';
}
结果为
找到了爆头
但像上例也有问题
当我们查询一个字符串中并没有存在的一个字符的话,就会出错如下例
$str = "查找关键词(或违禁词),如爆头";
$n = strpos($str,'我');
var_dump($n);
//false和0作比较,0就会向bool类型转换,结果为false
if($n >= 0){
echo '找到我';
}else{
echo '没有找到我';
}
结果为
找到我
字符串中并没有‘我’ 但是却输出了‘找到我’,这是因为false和0作比较,0就会向bool类型转换,结果为false,false等于false,所以才会输出找到我
可以使用===(全等)来解决这个问题
如
$str = "abc";
$find = 'e';
$n = strpos($str,$find);
var_dump($n);
if($n===false){
echo '未找到'.$find;
}else{
echo '找到了'.$find;
}
输出
未找到e
因为===是全等于,所以当false和0作比较时,两个就不相等,所以输出正确
但是不能将===写做==,如下例
$str = "abc";
$find = 'a';
$n = strpos($str,$find);
var_dump($n);
if($n==false){
echo '未找到'.$find;
}else{
echo '找到了'.$find;
}
输出
未找到a
这是因为==和===的区别导致的