首页 > 后端开发 > 正文

php截取字符串能做到,中文算一个字,英文单词也算一个字的函数吗。。。如 abc人人截取4个是 abc人。。。

2024-07-27 08:46:07 | 我爱编程网

今天我爱编程网小编整理了php截取字符串能做到,中文算一个字,英文单词也算一个字的函数吗。。。如 abc人人截取4个是 abc人。。。相关内容,希望能帮助到大家,一起来看下吧。

本文目录一览:

php截取字符串能做到,中文算一个字,英文单词也算一个字的函数吗。。。如 abc人人截取4个是  abc人。。。

php截取字符串以及去掉html标记

第一个很简单,就用你提供这个函数就可以。
不过第二个没有函数能执行。因为如果是英文字符应该占用1位,但中文不一样,utf8的一个汉字占用3个字符,这样如果出现中英文一起的情况就会出现乱码。必须自定义函数解决,下面给你一个简单的
<?php
function chinesesubstr($str,$start,$len) {//$str是指字符串,$start指字符串的起始位置,$len指字符串长度
$strlen=$start+$len; //用$strlen存储字符串的总长度
for($i=0;$i<$strlen;$i++) {
if(ord(substr($str,$i,1))>0xa0) { //如果字符串中出现汉字,也就是ASC码大于0xa0的。作出判断与英文字符不一样。
$tmpstr.=substr($str,$i,2);
$i++;
}
else
$tmpstr.=substr($str,$i,1);
}
return $tmpstr;
}
?>

php截取字符串能做到,中文算一个字,英文单词也算一个字的函数吗。。。如 abc人人截取4个是  abc人。。。我爱编程网

php截取字符串能做到,中文算一个字,英文单词也算一个字的函数吗。。。如 abc人人截取4个是 abc人。。。

/*
Utf-8、gb2312都支持的汉字截取函数
cut_str(字符串, 截取长度, 开始长度, 编码);
编码默认为 utf-8
开始长度默认为 0
*/
function cut_str($string, $sublen, $start = 0, $code = 'UTF-8')
{
if($code == 'UTF-8')
{
$pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";
preg_match_all($pa, $string, $t_string);

if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."...";
return join('', array_slice($t_string[0], $start, $sublen));
}
else
{
$start = $start*2;
$sublen = $sublen*2;
$strlen = strlen($string);
$tmpstr = '';

for($i=0; $i<$strlen; $i++)
{
if($i>=$start && $i<($start+$sublen))
{
if(ord(substr($string, $i, 1))>129)
{
$tmpstr.= substr($string, $i, 2);
}
else
{
$tmpstr.= substr($string, $i, 1);
}
}
if(ord(substr($string, $i, 1))>129) $i++;
}
if(strlen($tmpstr)<$strlen ) $tmpstr.= "...";
return $tmpstr;
}
}
我平时用的

php截取字符串能做到,中文算一个字,英文单词也算一个字的函数吗。。。如 abc人人截取4个是  abc人。。。

php字符串的截取

我爱编程网(https://www.52biancheng.com)小编还为大家带来php字符串的截取的相关内容。

1楼的代码有点问题 截取中文会出现问题 比如刚好是9个字母1个汉字 你截取10位的话 就会出现乱码 所以截取含中文字符串时要用mb_substr代替substr

for($i=0;$i<strlen($str);$i=$i+10){
$string=mb_substr($str,$i,10);
echo $string."<br>";
}

以上就是php截取字符串能做到,中文算一个字,英文单词也算一个字的函数吗。。。如 abc人人截取4个是 abc人。。。全部内容,更多相关信息,敬请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php截取字符串能做到,中文算一个字,英文单词也算一个字的函数吗。。。如 abc人人截取4个是 abc人。。。”相关推荐
php文字截取函数 php截取字符串函数
php文字截取函数 php截取字符串函数

PHP利用正则表达式截取字符串,preg_match_all()函数&lt;?php$str = '2015-9-15 XXXXXXXX,2015-9-15 XXXXXXXX,2015-9-15 XXXXXXXX,2015-9-15 XXXXXXXX,';preg_match_all('/\d{4}-\d+\-\d+(.*?),/is', $str, $matched);echo "&lt;

2025-01-29 08:06:15
php如何获取中文字符长度,一个中文字符算一个
php如何获取中文字符长度,一个中文字符算一个

php字符串处理函数(php字符串函数)php如何执行字符串中的函数mixedcall_user_func??(callable$callback?[,mixed$parameter?[,mixed$...?]])把第一个参数作为回调函数(callback),并且将其余的参数作为回调函数的参数。error_reporting(E_ALL);fun

2024-09-12 23:19:27
php提取字符串函数 PHP截取一个字符串里某个符号前面的字符串
php提取字符串函数 PHP截取一个字符串里某个符号前面的字符串

PHP截取一个字符串里某个符号前面的字符串$a值的长度,以及参数个数都是未定的.. 要去除掉最后一个&amp;符号以及后面所带的参数。经常看到有新手问PHP有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数。答案当然是有的。PHP中的substr函数就可以做的到,只不过PHP把二个函数合二为一了。我们先来看一下PHPsubstr

2024-08-26 04:40:18
php截取字符串以及去掉html标记 在一个html文件中怎样使用php截取字符串
php截取字符串以及去掉html标记 在一个html文件中怎样使用php截取字符串

PHP截取某个字符串前面的数字编写一个PHP函数,专门用于提取字符串中某个字符前的所有数字。函数定义如下:functiongetNumbersBeforeChar($string,$char){$pattern='/(d+)(?='.preg_quote($char).')/';preg_match($pattern,$string,$matches);returni

2025-01-11 12:23:14
php截取字符串函数(php截取指定2个字符之间字符串的方法)
php截取字符串函数(php截取指定2个字符之间字符串的方法)

php截取字符串函数PHP中,字符串截取是非常常见的操作。通过使用substr函数,我们可以按照指定位置或长度获取字符串的一部分。以下是一些示例:首先,substr函数用于从指定位置开始取字符,如从字符串"ABCDEFGHIJKLMNOPQRSTUVWXYZ"的第5个字符开始取,直到字符串结束,结果为"BZYX"。接着,可以指定截取的长度,如从第9个字符开始取4个字符,得到"DE

2025-01-23 09:43:22
PHP字符串长度计算 - strlen()函数使用介绍(php截取字符串几个实用的函数)
PHP字符串长度计算 - strlen()函数使用介绍(php截取字符串几个实用的函数)

PHP字符串长度计算-strlen()函数使用介绍strlen()函数和mb_strlen()函数在PHP中,函数strlen()返回字符串的长度。函数原型如下:复制代码代码如下:intstrlen(stringstring_input);参数string_input为要处理的字符串。strlen()函数返回字符串所占的字节长度,一个英文字母、数字、各种符号均

2025-01-23 20:14:53
php截取字符串函数(PHP利用正则表达式截取字符串,preg_match_all()函数)
php截取字符串函数(PHP利用正则表达式截取字符串,preg_match_all()函数)

php截取字符串函数PHP中,字符串截取是非常常见的操作。通过使用substr函数,我们可以按照指定位置或长度获取字符串的一部分。以下是一些示例:首先,substr函数用于从指定位置开始取字符,如从字符串"ABCDEFGHIJKLMNOPQRSTUVWXYZ"的第5个字符开始取,直到字符串结束,结果为"BZYX"。接着,可以指定截取的长度,如从第9个字符开始取4个字符,得到"DE

2025-02-18 16:28:14
如何利用PHP来截取一段中文字符串而不出现乱码
如何利用PHP来截取一段中文字符串而不出现乱码

如何利用PHP来截取一段中文字符串而不出现乱码/*功能:截取全角和半角混合的字符串以避免乱码参数: $str_cut 需要截断的字符串 $length  允许字符串显示的最大长度*/function substr_cut($str_cut,$length = 30){  if (strlen($str_cut) &gt;; $length){  for($i=0; $i &lt; $leng

2024-07-13 12:16:29