织梦正则提取中英混合字符串中第一个中文汉字

本文介绍如何使用正则表达式从HTML文档中提取中英文混合的字符串,包括UTF8和GBK编码下的处理方法。通过PHP的preg_match_all函数实现,针对不同编码的网页内容进行有效提取。

正则提取中英混合字符串

网页基础 - 网
HTML - 导
DIV&CSS - 导
Javascript/Ajax - 导
Dreamweaver - 导

UTF8

{dede:channelartlist typeid=1,1 currentstyle=current}
<p>
{dede:field.typename runphp=yes}
preg_match_all("/[\x{4e00}-\x{9fa5}]/u", @me, $str);
var_dump($str);
@me = $str[0][0];
{/dede:field.typename}
</p>
{dede:channel type=son noself=yes}
<p>
[field:typename runphp=yes]
preg_match_all("/[\x{4e00}-\x{9fa5}]/u", @me, $str);
@me = $str[0][0] ? $str[0][0] : "导";
[/field:typename]
</p>
{/dede:channel}
{/dede:channelartlist}

GBK

{dede:channelartlist typeid=1,1 currentstyle=current}
<p>{dede:field.typename/} - 
{dede:field.typename runphp=yes}
preg_match_all("/[\x80-\xff]+/", @me, $str);
@me = $str[0][0] ? cn_substr($str[0][0],2) : "导";
{/dede:field.typename}
</p>
{dede:channel type=son noself=yes}
<p>
[field:typename/] - 
[field:typename runphp=yes]
preg_match_all("/[\x80-\xff]+/", @me, $str);
@me = $str[0][0] ? cn_substr($str[0][0],2) : "导";
[/field:typename]
</p>
{/dede:channel}
{/dede:channelartlist}

转载于:https://www.cnblogs.com/dedehtml/p/9913361.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值