Compilation failed: character value in \x{...} sequence is too large at offset xxx

PHPliuliangsong 发表了文章 • 0 个评论 • 5550 次浏览 • 2016-10-18 14:48 • 来自相关话题

当我们使用正则表达式匹配汉字时,收到一条警告信息,如:<?php echo preg_replace("#[^\x{4e00}-\x{9fa5}]#", "", '爱E族:aiezu.com'); //抛出警告: // PHP Warning: preg_replace(): Compilation failed: character value in \x{...} sequence is too large at offset 9 in /tmp/aiezu.com.php on line 2 这是由于我们正则表达式没加"u"模式原因, 查看原文 »

Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 3 in xxx

PHPliuliangsong 发表了文章 • 0 个评论 • 6572 次浏览 • 2016-10-18 14:18 • 来自相关话题

当我们辛辛苦苦的在网上找到匹配汉字的正则表达式拿来用时,才发现不能用,如下面代码:<?php echo preg_replace("#[^\u4e00-\u9fa5]#", "", '爱E族:aiezu.com');代码抛出如下警告信息:PHP Warning: preg_replace(): Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 3 in /tmp/aiezu.com.php on line 2 解决办法: 原来上面代码的& 查看原文 »

Javascript计算字符串长度,中文长度为2,英文为1

Javascriptliuliangsong 发表了文章 • 0 个评论 • 7784 次浏览 • 2016-10-18 11:46 • 来自相关话题

使用js计算字符串长度,ASCII字符(英文、数字、字母等)长度算1,非ASCII字符(汉字等多字节字符)长度算2: 方法:将非ascii字符替换成两个星号,再计算长度:function abslength( str ) { return str.replace(/[^\x00-\xff]/ig, '**').length; } alert(abslength("爱E族: aiezu.com")); //弹出16 这是JS版本,要使用PHP按同样规则计算字符串长度,请参考:PHP计算字符串长 查看原文 »

PHP计算字符串长度,中文长度为2,英文为1

PHPliuliangsong 发表了文章 • 0 个评论 • 6502 次浏览 • 2016-10-18 11:19 • 来自相关话题

PHP计算字符串长度,ASCII字符(英文、数字、字母等)长度算1,非ASCII字符(汉字等多字节字符)长度算2: 方法一: 将非ascii字符替换成两个星号,再使用strlen计算长度:<?php function abslength( $str ) { return strlen(preg_replace("#[^\x{00}-\x{ff}]#u", '**', $str)); } echo abslength("爱E族: aiezu.com"); //输出16 方法二: 循环判断每个字符是否 查看原文 »

PHP中eval函数导致HTTP 500错误的解决方法

PHPliuliangsong 发表了文章 • 0 个评论 • 4961 次浏览 • 2016-10-18 11:10 • 来自相关话题

使用php eval函数来执行PHP代码时,常常由于提交给eval函数执行的代码不是合法的PHP代码,而导致http服务返回"HTTP/1.0 500 Internal Server Error"错误。尝试使用下面方式进行异常处理:try { eavl("code..."); } catch(Exception $e){}或者:@eavl("code...");后发现页面依然返回http 500错误,在网上google一下才发现这是一个bug,通过下面方式得以解决 查看原文 »

PHP通过http头user-agent判断是否为手机浏览器

PHPliuliangsong 发表了文章 • 0 个评论 • 8239 次浏览 • 2016-10-18 11:03 • 来自相关话题

下面PHP自定义函数可以根据http头user-agent判断是否为手机访问,如果是则返回true: <?php /** * 判断是否是通过手机访问 * @return bool 是否是移动设备 */ public function isMobile() { //判断手机发送的客户端标志 if(isset($_SERVER['HTTP_USER_AGENT'])) { $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']); $clientkeywords = array( 'nokia', 'sony', 'ericsson', 'mot 查看原文 »

javascript微博内容字数统计

Javascriptlinyu520 发表了文章 • 0 个评论 • 4612 次浏览 • 2016-10-17 21:18 • 来自相关话题

下面是计算微博内容字数的自定义函数。计算规则为URL算11,中文汉字长度为1,英文、数字、标点符号等单字节字符算0.5:function strlen(str) { var value = str.replace(/(^\s*)|(\s*$)/g, ""); var reg = new RegExp('((news|telnet|nttp|file|http|ftp|https)://){1}(([-A-Za-z0-9]+(\\.[-A-Za-z0-9]+)*(\\.[-A-Za-z]{2,5}))|([0-9]{1,3}(\\.[0-9]{1,3}){3}))(:[0-9]*)?(/[- 查看原文 »