>백엔드 개발 >PHP 튜토리얼 >正则从汉字字符串中取某一个汉字

正则从汉字字符串中取某一个汉字

WBOY
WBOY원래의
2016-06-23 13:59:541087검색

<?phpheader("Content-type: text/html; charset=gb2312"); $regex = '/大(\xhh{1})好啊/';   //这里该如何去写,我不会正则,希望大家能帮我解答一下,谢谢$str = '大家好啊';$matches = array(); if(preg_match($regex, $str, $matches)){    var_dump($matches);}?>


我想取出“家”字


回复讨论(解决方案)

header("Content-type: text/html; charset=utf-8");$regex = '/大(.*?)好啊/';$str = '大家好啊';$matches = array();  if(preg_match($regex, $str, $matches)){    var_dump($matches);//array(2) { [0]=> string(12) "大家好啊" [1]=> string(3) "家" }}

header("Content-type: text/html; charset=utf-8");$regex = '/大(.*?)好啊/';$str = '大家好啊';$matches = array();  if(preg_match($regex, $str, $matches)){    var_dump($matches);//array(2) { [0]=> string(12) "大家好啊" [1]=> string(3) "家" }}
如果我str里面还有字母,得用gb2312格式的该如何去写?

有什么区别吗?

$regex = '/大(.*?)好啊/';$str = '大家好啊';$matches = array();   if(preg_match($regex, $str, $matches)){    var_dump($matches);}
array(2) { [0]=> string(8) "大家好啊" [1]=> string(2) "家" } 

有什么区别吗?

$regex = '/大(.*?)好啊/';$str = '大家好啊';$matches = array();   if(preg_match($regex, $str, $matches)){    var_dump($matches);}
array(2) { [0]=> string(8) "大家好啊" [1]=> string(2) "家" }  会乱码。$str = 'a大家好啊';$regex = '/a大(.*?)好啊/';

会乱码。$str = 'a大家好啊';$regex = '/a大(.*?)好啊/';

header("Content-type: text/html; charset=gb2312"); $regex = '/大(.*?)好啊/';$str = '大家好啊';$str= mb_convert_encoding($str,'gb2312','UTF-8');$regex = mb_convert_encoding($regex,'gb2312','UTF-8');;$matches = array();   if(preg_match($regex, $str, $matches)){    var_dump($matches);//array(2) { [0]=> string(12) "大家好啊" [1]=> string(3) "家" }}

怎么可能?

$regex = '/a大(.*?)好啊/';$str = 'a大家好啊';$matches = array();    if(preg_match($regex, $str, $matches)){    var_dump($matches);}
array(2) { [0]=> string(9) "a大家好啊" [1]=> string(2) "家" } 

文件编码? ??    

谢谢回答问题各位大神,版主大人可能没看到我问题要求的编码是gb2312的。尤文球迷给的答案我试过了可以的,编码问题总是令人蛋疼。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.