存档

‘php’ 分类的存档

解决rtrim汉字产生乱码的问题

2018年6月25日 评论已被关闭

1、问题重现

echo rtrim('邯郸市','市');

输出: 邯�

2、原因

rtrim函数把参数都转成了UTF8后再进行比较。

对于中文,一般都是先转成Unicode,再根据下表转成UTF8。
UCS-4(UNICODE)编码    UTF-8字节流
U-00000000 – U-0000007F    0xxxxxxx
U-00000080 – U-000007FF    110xxxxx 10xxxxxx
U-00000800 – U-0000FFFF    1110xxxx 10xxxxxx 10xxxxxx
U-00010000 – U-001FFFFF    11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
U-00200000 – U-03FFFFFF    111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
U-04000000 – U-7FFFFFFF    1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

3、解决方法

var_dump(mb_substr('邯郸市',0,-1,'utf-8'));

分类: php 标签:

PHP 判断客户端是IOS还是Android

2017年11月3日 评论已被关闭
<?php

//Detect special conditions devices
$iPod    = stripos($_SERVER['HTTP_USER_AGENT'],"iPod");
$iPhone  = stripos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$iPad    = stripos($_SERVER['HTTP_USER_AGENT'],"iPad");
$Android = stripos($_SERVER['HTTP_USER_AGENT'],"Android");
$webOS   = stripos($_SERVER['HTTP_USER_AGENT'],"webOS");

//do something with this information
if( $iPod || $iPhone ){
    //browser reported as an iPhone/iPod touch -- do something here
}else if($iPad){
    //browser reported as an iPad -- do something here
}else if($Android){
    //browser reported as an Android device -- do something here
}else if($webOS){
    //browser reported as a webOS device -- do something here
}

?>

参考资料:
https://stackoverflow.com/questions/6322112/check-if-php-page-is-accessed-from-an-ios-device

分类: php 标签:

php使用strtok获取文本的第一行数据

2017年9月21日 评论已被关闭

<?php
$str = strtok($input, "\n");
?>

按单词分割字符串:

在下面的实例中,请注意,我们仅在第一次调用 strtok() 函数时使用了 string 参数。在首次调用后,该函数仅需要 split 参数,这是因为它清楚自己在当前字符串中所在的位置。如需分割一个新的字符串,请再次调用带 string 参数的 strtok():
<?php
$string = "Hello world. Beautiful day today.";
$token = strtok($string, " ");

while ($token != false)
{
echo "$token<br>";
$token = strtok(" ");
}
?>

参考:
https://stackoverflow.com/questions/9097682/obtain-first-line-of-a-string-in-php
http://php.net/manual/en/function.strtok.php

分类: php 标签:


标签

ajax apache array array_slice CentOS checkbox composer cookie csv curl date DATE_FORMAT excel FCKEditor file_get_contents laravel Magento Certified Developer mb_substr memcache Memcached MySQL String Functions Netbeans openssl php面试题 preg_match_all preg_replace QQ登录 rewrite SaeStorage serialize session setTimeout Sphinx spl Storage strtotime ueditor vsftp vsftpd Zend zip 分割字符串 图片处理 新浪云 正则表达式

存档