php匹配中文字符
❶ php 查找中文字符串
在PHP中查找中文字符,有两种方案:
将PHP保存为与欲查找中文一样的编码,然后使用strpos查找。
将PHP保存为UTF-8无BOM编码,然后转换字符串编码为UTF-8,再用strpos查找。
第一种方法:
strpos($curl_res,'中文');
第二种方法:
$str=mb_convert_encoding($str,'utf-8','gbk');
mb_strpos($str,'中文');
主意:函数中的中文字符串参数的编码,必须要和PHP文件保存格式的编码一致。
❷ php匹配特定的中文字符串
<?php
$str = "[尺码参考]均码 适合身高:155-175cm/胸围:70-90cm/腰围:65-75cm/臀围:80-93cm[厚度指数]稍薄";
//需要匹配到[尺码参考]和[厚度指数]之间的中文字符串
if (preg_match('|\[尺码参考\](.*?)\[厚度指数\]|',$str,$reg)) echo "匹配内容:".$reg[1];
?>
输出结果:
匹配内容:均码 适合身高:155-175cm/胸围:70-90cm/腰围:65-75cm/臀围:80-93cm
是你需要的吗?
❸ php匹配带空白和换行符的含中文字符串
$str = '<li data-media-id="12927"> <a href="/video/12927" class="J-media-item"> <i class="icon-video type"></i> 2-3 php mysql实现队列发送邮件 (07:48) </a> <!-- 未登录时 --> <!-- <a target="_blank" href="/video/1430" class="J-media-item studyvideo">1-1 Java简介 (05:49) <button class="r moco-btn moco-btn-blue preview-btn">预览</button> </a> --> </li>';
preg_match_all("/<i\s+class=\"icon\-video\s+type\">\s*<\/i>(.+?)<\/a>/is", $str, $matches);
var_mp($matches);
$matches[1]里面就是要匹配的
❹ php中如何用正则表达式匹配中文字符呢
php中匹配一个或多个中文字符(包含简体和繁体中文字符)的正则表达式如下:/[[b]\x{4e00}-\x{9fa5}]+/注意:php中正则表达式的16进制是以
\x
开头的。
❺ php正则表达式匹配一段中文,中间有换行,空白,应该怎么写
有多种处理方法:
1、使用[sS]匹配任意字符,而不是使用“.”
2、使用s单行修饰模式,例:$pattern='#abc.*?def#s';//能匹配abc换行def
3、使用s*匹配换行和空格,php里s能匹配空白字符,含换行
php里的中文使用[x7f-xff]表示,因此,使用正则:
$pattern='#[x7f-xff]+(?:s*[x7f-xff]+)*#';即可
❻ PHP preg_match 函数怎么匹配中文
<?php
//示例代码:
$str='hello这里是phppreg_match正则匹配演示';
//UTF8编码:正则表达式匹配中文;
if(preg_match('/[x{4e00}-x{9fa5}]+/u',$str)){
echo'匹配成功,有中文字符串!';
}else{
echo'没有中文字符串。';
}
//GB2312,GBK编码:正则表达式匹配中文;
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)){
echo'匹配成功,有中文字符串!';
}else{
echo'没有中文字符串。';
}
?>
❼ php匹配中文文字,并给字符串的中文文字加粗
刚才参数写错了,现在应该可以了
<?php
$str = "中文123美丽abc开心。?我们";
$len=strlen($str);
for ($i=0;$i<$len;$i++)
{
if(ord(substr($str,$i, 1))>127)
{
$temp=substr($str, $i,2);
//输出粗体字,具体忘了,你可以查一下
echo "对";
$i++;
}
else
echo substr($str, $i,1);
}
?>
❽ PHP正则表达式中怎么匹配汉字啊 - 技术问答
匹配中文字符的正则表达式:
[\\u4e00-\\u9fa5]匹配双字节字符(包括汉字在内):[^\\x00-\\xff]应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)String.prototype.len=function(){return
this.replace([^\\x00-\\xff]/g,\"aa\").length;}匹配空行的正则表达式:\\n[\\s|
]*\\r匹配HTML标记的正则表达式:/.*|/匹配首尾空格的正则表达式:(^\\s*)|(\\s*$)
❾ php正则匹配中文字符 排除符号
你指的连续,那么就要求是两个以上了:
$reg='/[x80-xff]{2,}/';
这个正则是表示匹配两个字节以上的多字节字符(多字节字符通常高位为 1)。
❿ 为什么在正则不加模式修正符的时候,PHP去匹配的中文字符会是乱码的
此修正符启用了一个 PCRE 中与 Perl 不兼容的额外功能。模式字符串被当成 UTF-8。本修正符在 Unix 下自 PHP 4.1.0 起可用,在 win32 下自 PHP 4.2.3 起可用。自 PHP 4.3.5 起开始检查模式的 UTF-8 合法性。
你懂么?如果还不懂的话多,去后盾人看下教学视频非常有帮助。