php截取中文
『壹』 php中如何截取中文字符串
如果是UTF-8字符编码的,应该是每个中文字符占三个字符位,
比如$a = "还好吧";
substr($a, 3, 3);//输出“好”,
注意$a赋值的时候要么都是中文字符(包括标点),如果有英文字符标点会影响
『贰』 php截取指定中文字符串
$str = "冒号之前的内容 天气预报: 冒号之后的内容";
$arr=explode("天气预报:",$str);
$result=$arr[1];
『叁』 php 截取两个中文字中间的字符串 怎么实现
<?php
header('Content-Type:text/html;charset=utf-8');
$str="网络知道提了截取中文字符串的问题";
$t1=mb_strpos($str,'提');
$t2=mb_strpos($str,'串');
echo$s=mb_substr($str,$t1,$t2-$t1);
『肆』 php中截取中文字符串方法
mb_substr — 获取部分字符串
说明
mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] ) : string
根据字符数执行一个多字节安全的 substr() 操作。 位置是从 str 的开始位置进行计数。 第一个字符的位置是 0。第二个字符的位置是 1,以此类推。
参数
str
从该 string 中提取子字符串。
start
如果 start 不是负数,返回的字符串会从 str 第 start 的位置开始,从 0 开始计数。举个例子,字符串 'abcdef',位置 0 的字符是 'a',位置 2 的字符是 'c',以此类推。
如果 start 是负数,返回的字符串是从 str 末尾处第 start 个字符开始的。
length
str 中要使用的最大字符数。如果省略了此参数或者传入了 NULL,则会提取到字符串的尾部。
encoding
encoding 参数为字符编码。如果省略,则使用内部字符编码。
『伍』 PHP截取汉字 保留完整的HTML
这是我前一阵回答的,用ASP写的一个“无损截取HTML格式文本”的函数,你自己把它改写成PHP的就可以了:
http://..com/question/131310886.html
『陆』 php截取中文字符串
PHP中文
乱码
的原因及解决方法
原因:1.PHP页面语言本身的编码类型不合适,这时候,你直接在脚本中写的中文肯定是乱码,不用说数据库了;
解决方法:选择'
UTF8
'或者'gb2312',这样客户浏览器会自动选择并出现正确的中文显示。注意:'UTF8'或者'gb2312'都可以正确显示中文的。
2.数据库MySQL中的编码类型不正确。
解决方法:创建数据库的时候,MySQL
字符集
选择'UTF8',MySQL
连接校对选择utf8_general_ci,这样创建的数据库用来存储中文肯定没有问题,
否则,你的中文首先在MySQL中就是乱码,更不要期望它会给你在PHP页面中显示正确。
3.与平时的脚本编辑环境有关。比如,有些内容是自己用word写的,有些是用记事本写的,有些用editplus、ultraplus等
文本编辑器
。有时候就直接在DW中写中文了,
这样做不出乱码才怪呢。
解决方法:尽量用同一种编辑器。如果是拷贝来得既有的内容,建议用ultraplus中的编码转换功能把它转换成utf8或者gb2312。
到底转换成什么类型并不重要,关键要求你的PHP
WEB应用程序
中的编码要一致就行。
4.编程访问
MySQL时,建议添加一行代码:mysql_query("SET
NAMES
'GBK'");
这是解决方法
我没看
懂你
贴上来的程序
所以给你一些方法去解决乱码的问题
希望可以帮得上
『柒』 PHP截取中文字符问题
<?php
$string
=
"这是中文数字";
$mystring=mb_substr($string,0,3,'GB2312');
echo
$mystring;
//这样就会输出:"这是中"三个字
about(1)是什么?
?>