×

phpmbstringstrpos

phpmbstringstrpos的简单介绍

admin admin 发表于2023-03-24 21:17:10 浏览64 评论0

抢沙发发表评论

本文目录一览:

php中如何判断内容中是否包含指定的文字?

如果不是特别复杂的字符判断,不建议用正则,php的字符串函数完全可以实现,strpos()例如:

$x = "abc张三klllk";

if(strpos($x,"张三") 0){

echo "ok";

}

当然这样会有一个问题,就是当"张三"出现在字符串开头的时候,结果也为0,

这时候就要在字符串前加一特殊字符来判断。

$x="张三abc";

$x1 = "%**#".$x;

if(strpos($x1,"张三") 0){

echo "ok";

}

扩展资料

用explode进行判断PHP判断字符串的包含代码如下:

function checkstr($str){

$needle ='a';//判断是否包含a这个字符

$tmparray = explode($needle,$str);

if(count($tmparray)1){

return true;

} else{

return false;

}

}

参考资料:百度百科 - PHP类

php要截取一段汉语文字,怎样才能保证不把汉字拆开?

还得看你的编码是gbk的还是UTF8的。

以下是UTF-8的编码下的截取

function smarty_modifier_truncate_utf8($string, $length, $etc = '...')

{

$result = '';

$string = html_entity_decode(trim(strip_tags($string)), ENT_QUOTES, 'UTF-8');

$strlen = strlen($string);

for($i = 0; (($i $strlen) ($length 0)); $i++)

{

if($number = strpos(str_pad(decbin(ord(substr($string, $i, 1))), 8, '0', STR_PAD_LEFT), '0'))-phpmbstringstrpos

{

if($length 1.0)

{

break;

}

$result .= substr($string, $i, $number);

$length -= 1.0;

$i += $number - 1;

}

else

{

$result .= substr($string, $i, 1);

$length -= 0.5;

}

}

$result = htmlspecialchars($result, ENT_QUOTES, 'UTF-8');

if($i $strlen)

{

$result .= $etc;

}

return $result;

}

以下是GBK编码下的截取(常用)

function gbk_strlen($string)

{

if(extension_loaded('mbstring'))

{

mb_internal_encoding('GBK');

return mb_strlen($string);

}

else

{

preg_match_all('/[\x81-\xfe]?./', $string, $match);

return count($match[0]);

}

}

function gbk_substr($string, $start, $length = null)

{

if(extension_loaded('mbstring'))

{

mb_internal_encoding('GBK');

if(is_null($length))

{

return mb_substr($string, $start);

}

else

{

return mb_substr($string, $start, $length);

}

}

else

{

preg_match_all('/[\x81-\xfe]?./', $string, $match);

if(is_null($length))

{

return implode('', array_slice($match[0], $start));

}

else

{

return implode('', array_slice($match[0], $start, $length));

}

}

}

function smarty_modifier_truncate_gbk($string, $length = 80, $etc = '...',

$break_words = false, $middle = false)

{

if ($length == 0)

return '';

if (gbk_strlen($string) $length) {

$length -= gbk_strlen($etc);

if (!$break_words !$middle) {

$string = preg_replace('/\s+?(\S+)?$/', '', gbk_substr($string, 0, $length+1));

}

if(!$middle) {

return gbk_substr($string, 0, $length).$etc;

} else {

return gbk_substr($string, 0, $length/2) . $etc . gbk_substr($string, -$length/2);

}

} else {

return $string;

}

}

phpmyadmin导入文件,出现下面的问题,该怎么解决

打开php.ini 查看 “extension=php_mbstring.dll”是否被注释掉了

没去掉注释就自己注释掉!重启服务器

也可能是 字符集问题

进入phpmyadmin相应的数据库 操作-》设置 为对应的字符集

还不行就用命令 导入数据

PHP—strpos查找字符串

strpos——查找字符串第一次出现的位置

strpos(string \$haystack, mixed \$needle, int \$offset = 0):int

返回needle在haystack中首次出现的数字位置

offset(7.1.0开始支持负数的 offset。)

  如果提供了此参数,搜索会从字符串该字符数的起始位置开始统计。 如果是负数,搜索会从字符串结尾指定字符数开始 。

返回值:

  返回 needle 存在于 haystack 字符串起始的位置(独立于 offset)。同时 注意字符串位置是从0开始,而不是从1开始的 。

  如果没找到 needle,将返回 false。

注意:

PHP 查找中文字符串

在PHP中查找中文字符,有两种方案:

将PHP保存为与欲查找中文一样的编码,然后使用strpos查找。

将PHP保存为UTF-8无BOM编码,然后转换字符串编码为UTF-8,再用strpos查找。

第一种方法:

strpos($curl_res, '中文');

第二种方法:

$str = mb_convert_encoding($str, 'utf-8', 'gbk');

mb_strpos($str, '中文');

主意:函数中的中文字符串参数的编码,必须要和PHP文件保存格式的编码一致。