获取网页字符编码的正则表达式

本文深入探讨了如何从HTML文件中自动提取字符集和元标题信息,通过展示一个优化的正则表达式实例,揭示了其在处理HTML标签时的高效性和灵活性。同时,推荐了一个强大的可视化正则表达式检测工具,帮助开发者更直观地验证和调整正则表达式,以应对复杂多变的HTML结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. $wcharset = preg_match("/<meta.+?charset=[^\w]?([-\w]+)/i",$filecnt,$temp) ? strtolower($temp[1]):"";  
  2. $wtitle = preg_match("/<title>(.*)<\/title>/isU",$filecnt,$temp) ? $temp[1]:""

这个网上的,还不是最好的。

 最完美的正则表达式是这样的:

preg_match('/<meta[^>]*?charset=(["\']?)([a-zA-z0-9\-\_]+)(\1)[^>]*?>/is', $html, $charset);

/<meta[^>]*?charset=(["\']?)([a-zA-z0-9\-\_]+)(\1)[^>]*?>/is
为什么说完美呢,看看图就知道了:

group2就是要取的值。

将meta中可能写入其它项都考虑到了,而且也考虑到可能有引号可能没有引号,可能是双引号也可能是单引号。


其实最牛的是这个可视化正则表达式检测。

网址为:https://jex.im/regulex/
通过它,发现找出html标签的最佳正则是

<([^>]+?)>


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值