请问php如何能在一串汉字中的每个字之间加入一个符号,如:把 '我爱生活' 变成 '我\n爱\n生\n活'

作者&投稿:右华 (若有异议请与网页底部的电邮联系)
function str_split_php5_utf8($str) {
// place each character of the string into and array
$split=1;
$array = array();
for ( $i=0; $i < strlen( $str ); ){
$value = ord($str[$i]);
if($value > 127){
if($value >= 192 && $value <= 223)
$split=2;
elseif($value >= 224 && $value <= 239)
$split=3;
elseif($value >= 240 && $value <= 247)
$split=4;
}else{
$split=1;
}
$key = NULL;
for ( $j = 0; $j < $split; $j++, $i++ ) {
$key .= $str[$i];
}
array_push( $array, $key );
}
return $array;
}
$str = '我爱生活';

$a=implode('\n',str_split_php5_utf8($str));
echo $a;
希望能够帮到你。

把这一串汉字放在一个数组里;
然后循环读出数组每个元素,差加上你要的字符'\n'

$arr[] ='我';
$arr[] ='爱';
$arr[] ='生';
$arr[] ='活';
echo implode('\n', $arr);

编码设置相同,PHP读取MYSQL中的汉字显示出来是问号~

你自己用phpmyadmin看一下 应该是数据表的编码不一致

首先需要先把带有中文的字符串进行编码转化,由GB2312编码转化为UTF-8编码。
这样是为了PHP正则表达式可以正确的去匹配
然后通过preg_match_all()函数以及相应的中文匹配正则表达式,把所有的中文匹配出来
最后,把匹配到的中文字符串再转为B2312编码,这样做是为了可以在网页编码为GB2312上正确显示。

例如:
<?php
$str = "ddddvvv(,中文.)dfdsfds字符啊.";

//把GB2312编码转化为 UTF-8编码
$str = mb_convert_encoding($str, 'UTF-8', 'GB2312');

//正则匹配
preg_match_all('/[\x{4e00}-\x{9fff}]+/u', $str, $matches);

//把匹配到的数组连接为字符串
$str = implode('', $matches[0]);

//把UTF-8编码转化为 GB2312编码
$str = mb_convert_encoding($str, 'GB2312', 'UTF-8');

echo $str;
//输出 中文字符啊
?>

PHP mysql 如何将从数据中读入的中文乱码转换成中文字符?
答:header(”Content-type: text/html;charset=utf-8″);且要求保存的文件编码方式是utf-8,这样就保证了该文件也是utf-8编码。3. 数据库中表的字段中存储中文的部分,要设置为utf8_general_ci类型。4.PHP在连接数据库操作时,要设置操作的字段类型为utf8,设置方法如下:mysql_connect(’localhost’,'...

怎样将php里的汉字字符串分割成单个字符
答:很简单,代码如下:<?php$str = "Hello Friend";$arr1 = str_split($str);$arr2 = str_split($str, 3);print_r($arr1);print_r($arr2);/* Output may look like:Array( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => [6] ...

php如何解决查询出来的数据是乱码问题
答:一、HTML页面编码:meta http-equiv=content-type content=text/html; charset=utf-8 这里的编码要和数据库编码,及连接数据库编码;二、文件在存储编码:比如文件inde.php,改变其存储编码为所需编码。只需用EditPlus等文本编辑软件 文件另存为,在编码中选择正确的编码(这点很多人都会忽略);三、...

php中 如何验证一个字符串中是否存在某个字符串
答:php自带的函数可以使用:第一:strpos() 函数查找字符串在另一字符串中第一次出现的位置。(区分大小写),找到了就证明存在 第二:stripos() 函数查找字符串在另一字符串中第一次出现的位置(不区分大小写),同样匹配到了就证明存在 第三:strstr() 函数搜索字符串在另一字符串中的第一次出现。

PHP中将一串汉字单个放到数组 将这:$str="你好" ; 变成这种形式:$arra...
答:如果是英文的话可以直接用str_split()函数。汉字的话我写个你看看吧 header('Content-Type: text/html; charset=utf-8');str = "你好";len = mb_strlen($str,"utf-8");for($i=0;$i<$len;$i++){ arr[] = mb_substr($str,$i,1,"utf-8");} print_r($arr);//Array ( [0]...

php检查字符串中是否有汉字/数字/英文字母
答:<?php function checkStr($str){ output='';a=preg_match('/['.chr(0xa1).'-'.chr(0xff).']/', $str);b=preg_match('/[0-9]/', $str);c=preg_match('/[a-zA-Z]/', $str);if($a && $b && $c)output='汉字数字英文的混合字符串';elseif($a && $b && !$c)outp...

PHP中怎么能做到判断一个文本框中,汉字和字母都多余200个啊?
答://统计字符串长度-UTF8 (PHP)function utf8_strlen($str) { count = 0;for($i = 0; $i <strlen($str); $i++){ value = ord($str[$i]);if($value> 127) { count++;if($value>= 192 && $value <= 223) $i++;elseif($value>= 224 && $value <= 239) $i = $i + ...

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."";} ...

php截取一段文字的前一百个字的问题
答:i+=3;//确定为汉字 在utf8编码下占三个英文字符的长度 则需要记录三个字符 }else{ if($j+1>=$start){ str_temp .= substr($str,$i,1); //截取英文字符 s++;//已经截取的字符串长度加1 } j++;//当前截取的字符串的位置加1 i++;//非汉字字符占一个字符的长度 } } t = ...

PHP如何读取汉字的点阵数据
答:PHP如何读取汉字的点阵数据?想实现输入一段文字,能得到这一段文字的所有点阵码。解决方法:简体中文国标字库7445个字符,其中汉字6773个,包括一级汉字3755个,二级汉字3008个。采用2字节(16位二进制)编码。区位码:国标GB2312规定,所有的国标汉字与符号组成一个9494的矩阵。在此方阵中,每一行称为一个区...