PHP指定截取字符串中的中英文或数字字符的实例分享

作者&投稿:中叔帖 (若有异议请与网页底部的电邮联系)
~ 我们在开发过程中,经常会碰到截取中文英文数字等的问题,大家知道中文所占的字符和英文数字是不同的;然后我们就会在项目的common里写一些日常的函数包含时间计算转换和中英文字符截取的函数;比如截取中英文的函数没个几行代码恐怕拿不下来的吧,现在就告诉大家一个简单的(自己本地运行过的),如有问题,请大家多多指教

$c
=
'ddaabbccaa';
$d
=
'地球需要我们每个人的爱护';
$frist1
=
mb_substr(
$c,
0,
1
,"UTF-8");
//
d
$delete_last1
=
mb_substr($d,
-1,1,"UTF-8");
//

echo
$frist1.'+++'.$delete_last1.'<br/>';
//
d+++护
$frist2
=
mb_substr(
$d,
0,
1
,"UTF-8");
//

$delete_last2
=
mb_substr($d,
-1,1,"UTF-8");
//

echo
$frist2.'+++'.$delete_last2.'<br/>';
//
地+++护
$e
=
'11aa22cc33';
$f
=
'aa地球需要我们每个人的爱护';
$g
=
'地球需要我们每个人的爱护gg';
$h
=
'地球需要我们每个人的爱护';
$first3
=
mb_substr(
$e,
0,
1
,"UTF-8");
//
1
$last3
=
mb_substr(
$f,
0,
1
,"UTF-8");
//
a
$delete_last3
=
mb_substr($f,
-1,1,"UTF-8");
//

$delete_last4
=
mb_substr($g,
-1,1,"UTF-8");
//
g
$frist4
=
mb_substr(
$g,
0,
1
,"UTF-8");
//

$delete_last5
=
mb_substr($h,
-1,1,"UTF-8");
//

echo
$first3.'+++'.$last3.'---'.$delete_last3.'***'.$delete_last4.'&&&'.$frist4.'<br/>';
//
1+++a---护***g&&&地
echo
$last3.'...'.$delete_last3.'<br/>';
//
a...护
echo
$frist4.'...'.$delete_last5.'<br/>';
//
地...护
//
这样不管字符串里是中英文数字等都是可以的无需判断,如:
”地...护“
或者
“地...”
或者
“...护”
PS:过滤字符串中空格的方法
去除字符串首尾中英文空格的方法:
function
mbTrim($str)
{
return
mb_ereg_replace('(^( |
)+|( |
)+$)',
'',
$str);
}
下面的正则验证时过滤掉用户输入的连续空格,包括全角空格和半角空格
$user
=
mb_ereg_replace('^( |
)+',
'',
$user);
$user
=
mb_ereg_replace('( |
)+$',
'',
$user);
$age
=
mb_ereg_replace('^( |
)+',
'',
$age);
$age
=
mb_ereg_replace('( |
)+$',
'',
$age);
$method
=
mb_ereg_replace('^( |
)+',
'',
$method);
$method
=
mb_ereg_replace('( |
)+$',
'',
$method);
$address
=
mb_ereg_replace('^( |
)+',
'',
$address);
$address
=
mb_ereg_replace('( |
)+$',
'',
$address);


php问题……php截取字符串几个实用的函数
<?phpechomb_substr("php点点通",1,3,"UTF-8");\/\/hp点?> 代码如下:substr(string,start,length)其中start的参数 正数-在字符串的指定位置开始 负数-在从字符串结尾的指定位置开始 0-在字符串中的第一个字符处开始 strstr()函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符...

截取指定字符中的文字,如何用函数实现,如图?
如下图,给你贴出了代码段。可以利用字符串的substring函数来进行截取。其中,substring函数有两个参数:1、第一个参数是开始截取的字符位置。(从0开始)2、第二个参数是结束字符的位置+1。(从0开始)indexof函数的作用是查找该字符串中的某个字的位置,并且返回。

批处理如何提取文本中指定内容?
不清楚你的实际文件\/情况,仅以问题中的样例\/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行 <# :cls echo off rem 从多个txt文本文件内提取指定特征字符串内容 set #=Any question&set @=WX&set $=Q&set\/az=0x53b7e0b4 title %#% +%$%%$%...

惠普笔记本 如何提取显卡BIOS信息
在下面的列表里找出名称为PCI Option ROM,原始容量是64512字节的那一项(与用GPU-Z提取出来的长度一致),选中它,在MMTOOL软件上面选择提取,选择好路径和文件名称,点提取按钮提取出来,这里命名为20GPU.bin。用WINHEX打开20GPU.bin,寻找特征字符串,确定它就是显卡的BIOS。至此,显卡BIOS提取完毕。

求修改hp8200商用机网卡mac物理地址的方法
例如网卡使用了0001主键,因此我们就选中它,在其右边建一个字符串项(名为NetworkAddress),双击该串,输入你指定的MAC地址值(注意应该是12位的连续数字或字母,其间没有-号);在0001下的NDI\\\\params中添加一项子键(名为NetworkAddress),选择该子键,在其右边添加名为default的字符串,键值为修改...

你好,打印机后台程序服务没有运行,修复后重启还是不行
“SpoolDirectory”的字符串值,要是找不到的话,可以依次单击注册表编辑窗口中的“编辑”\/“新建”\/“字符串值”命令,并将新创建的字符串值名称设置为“SpoolDirectory”;之后再用鼠标双击该字符串值,在随后出现的“数值数据”设置框中,可以直接输入指定打印机的新缓存路径,最后单击“确定”按钮并刷新一下系统注册...

我买的神舟笔记本电脑 hp600 现在经常卡死 ,求救高手帮忙解决?
选择"运行",键入"REGEDIT",进入注册表编辑器,通过选单下的"查找"功能,找到并删除与驱动程序前缀字符串相关的所有"主键"和"键值",重新启动。 【内存容量不够】内存容量越大越好,应不小于硬盘容量的0.5~1%,如出现这方面的问题,就应该换上容量尽可能大的内存条。 【劣质零部件】少数不法商人在给顾客组装兼容机时...

请问!我有一台hp 2230s的笔记本,一装系统就蓝屏,是什么问题?
例如,程序试图向一个本来是保存数字的变量写字符串的时候,这个错误就有可能发生。如果你遇到了这种类型的错误,需要记下出错信息,是什么软件导致了错误,一般这些软件都有新的版本来纠正这些错误的。 当你遇到了停止消息时候可能需要的解决问题的步骤: 首先判断你最近是不是在系统中有任何的变动。如果你有,那么这些...

HP PRO 3330 MICRO TOWER 怎么实现定时自动开机?
您好,感谢您选择惠普产品。这款主机可以通过BIOS设置调整设置自动开机,开机是连续按F10进BIOS后,选Power 栏目下 Hardware Power Management 选项,将S5 Maximum power saving 改成disable 后按F10确认。再选择advanced栏目下BIOS power-on 进入分别设置周一到周天开启enabled,及每天开机的具体时间点,完成后...

电脑提示在字符串表中找不到字符串cd-inst-error-loading-dll_百度知...
在字符串表中找不到字符串CD_INST_ERROR_LOADING_DLL。驱动和系统不兼容,驱动受损不完整等,更换一个驱动,或到官方网站上下载最新驱动 HP的一些软件和驱动在WIN 7 或win10上有可能会不兼容的像WIN 7或win10 BETA早期的,一些显卡驱就无法安装上 ...

贡山独龙族怒族自治县15145026136: PHP自定义函数如何截取中英文字符串?代码如下: <?php header("content - ty -
崇任妥布: 我记得我回答过类似问题,function cn_substr($str,$len){ for($q=0;$q<$len;$q++){ //循环 if(ord(substr($str,$q))>0xa0){ //判断 0xa0=160 $tmpstr.=substr($str,$q,3); $q+=3; }else{ $tmpstr.=substr($str,$q,1);} return $tmpstr; } } echo cn_substr ($str,5);//请在函数外调用

贡山独龙族怒族自治县15145026136: php截取一段字符串中第一个出现的数字或字母或冒号前面的中文汉字的语句怎么写? -
崇任妥布: $string= preg_replace('/([a-z0-9\:])+/','',$string1);这样就把数字 字母 冒号后面的字符串去掉了

贡山独龙族怒族自治县15145026136: php分割中英文字符串的几种方 -
崇任妥布: 对一段文字按照字数进行分割,因为文字中可能是中英文混合的,而php函数strlen只能计算出字串的字节数,于是自己实现了几个函数,分享下.例1,计算字符总长度.01 02 function ccStrLen($str) #计算中英文混合字符串的长度 03 { 04 $...

贡山独龙族怒族自治县15145026136: php截取字符串 -
崇任妥布: 这个问题我回答了好几个了:/* 截取一定长度的完整的中文字符 */ function cnsubstr($str,$strlen=10) { if(empty($str)||!is_numeric($strlen)){ return false; } if(strlen($str)return $str; } //得到第$length个字符 并判断是否为非中文 若为非中文 //直接返回$...

贡山独龙族怒族自治县15145026136: 跪求个php的字段截取、、、、或者yii的字段截取.... -
崇任妥布: PHP截取中英文字符串,不按字符数而是按宽度来截取,具体代码如下function subUTF8($string, $length = 80, $etc = '...') { $strcut = ''; $strLength = 0; $width = 0; if(strlen($string) > $length) { $sl = strlen($string); for($i = 0; $iif ( $width >= $length) { ...

贡山独龙族怒族自治县15145026136: php 如何截取 中文和英文混合的 中文字符串长度 -
崇任妥布: 然而在PHP自带的函数中,strlen及mb_strlen都是通过计算字符串所占字节数来计算长度的,在不同的编码情况下,中文所占的字节数是不同的.在GBK/GB2312下,中文字符占2个字节,而在UTF-8下,中文字符占3个字节.

贡山独龙族怒族自治县15145026136: PHP中的截取字符串问题?
崇任妥布: php的substr函数截取中文字符会出现乱码. 只有使用自写函数来截取包含中文的字符串,函数如下: $string为字符串. $length为要截取的长度. function wordscut($string,$length) { if(strlen($string) > $length) { for($i = 0; $i < $length - 3; $i++) { if...

贡山独龙族怒族自治县15145026136: PHP正则表达式截取字符串里的中文 -
崇任妥布: preg_match("/[\u4e00-\u9fa5]/",$str);

贡山独龙族怒族自治县15145026136: [php]如何在PHP中截取中文字串无乱码 -
崇任妥布: 一年前写的一个函数.用法与substr一样,支持中文.您也可以加以改进. //截取字符串含数,对系统函数的改进,不会将中文变乱. function mysubstr ($str,$start,$len=0,$cutchar="…") { $str=str_replace(" ",' ',$str); $str=str_replace("“",'...

贡山独龙族怒族自治县15145026136: 如何利用PHP来截取一段中文字符串而不出现乱码 -
崇任妥布: /* 功能:截取全角和半角混合的字符串以避免乱码 参数: $str_cut 需要截断的字符串 $length 允许字符串显示的最大长度*/ function substr_cut($str_cut,$length = 30){if (strlen($str_cut) >; $length){ for($i=0; $i if (ord($str_cut[$i]) >; 128) $i++; $str_...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网