麻烦问下 preg_replace("/[^chr(128)-chr(256)]+/is"," ",$words) 中的/[^chr(128)-chr(256) 麻烦问下 表达式 preg_replace("/[^chr(128)-chr(256)]+/is"," ",$words);中的正则表达式("/[^chr(128)-chr(256)]+/is应该怎么理解?希望各位DGDJ 不吝赐教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ASC码>=128的,换成空格了,,,像!$#之类的但是,多个连在一起的话,只换成一个空格 preg_replace("/[^chr(128)-chr(256)]+/is"," ",$words);preg_replace("/[^".chr(128)."-".chr(256)."]+/is"," ",$words);chr就是php里的函数 $words = '这是一个测试test';echo preg_replace("/[^chr(128)-chr(255)]+/is"," ",$words); //test不匹配扩展ascii编码字符 我也是这么理解的,但是 令我头晕的是 为什么“#”的ascii为35 这样的符合会被匹配 麻烦问下 下面的程序<?php $words = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSRUVWXYZ!@#$%^&*()_+-=[]\\,./{}|<>?'\"你好啊我们"; $enStr=preg_replace("/[^chr(128)-chr(256)]+/is"," ",$words); $otherStr=preg_replace("/[chr(128)-chr(256)]+/is"," ",$words); echo 'enStr:',$enStr,'<br />', 'otherStr:',$otherStr;?>的结果为enStr:0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSRUVWXYZ @ ^ *()_+-=[]\,./ <>? otherStr: ! #$% & {}| '"你好啊我们为什么 “#”(ascii为35)这样的也会被匹配掉 这点让我理解不了(! #$% & {}| '" 这些的ascii码都小于128) 这个chr方法就没有执行,你这个正则表达的意思很奇怪chr是php的方法$words = '这是一个测试test';echo preg_replace("/[^".chr(128)."-".chr(255)"]+/is"," ",$words); //test 你试试看,preg_replace("/[^chr(128)-chr(256)]+/is"," ",$words); chr是起作用了的,上面同样得到test 好象很难解决的样子baidu google 都用了 还是没有解决 郁闷疯了 直接 http://www.cnxct.com/php%e4%b8%ad%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%e5%af%b9unicode%e5%ad%97%e7%ac%a6%e7%a0%81%e7%9a%84%e5%8c%b9%e9%85%8d/这里已经详细分析回复。给俺分。谢谢。^_^ 这个 我就我在phpchina上问的问题。呵呵不好意思啊。 分都分完了。 多谢 PHP fopen() de $context 参数问题 smarty中的truncate变量调节器不能对中文正确起作用 oracle连接php的问题 请教一下判断域名的正则表达怎么写. html网页中插入script脚本,src指向php文件,怎么在html中显示php返回的数据?求大神赐教。 如何"组合"多张图片 Ltsky.com ,谢谢帮忙。进来领分。 求助:极其简单的问题,大虾们都进来看一下,在线等 怎么删除记录!!!!! php 中把一个array(255,11,22,2,0...)转换成图片输出 139.com无法接收邮件。在线跪求 关于用户相片显示比例的问题,欢迎讨论!~
echo preg_replace("/[^chr(128)-chr(255)]+/is"," ",$words); //test不匹配扩展ascii编码字符
我也是这么理解的,但是 令我头晕的是 为什么“#”的ascii为35 这样的符合会被匹配
<?php
$words = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSRUVWXYZ!@#$%^&*()_+-=[]\\,./{}|<>?'\"你好啊我们";
$enStr=preg_replace("/[^chr(128)-chr(256)]+/is"," ",$words);
$otherStr=preg_replace("/[chr(128)-chr(256)]+/is"," ",$words);
echo 'enStr:',$enStr,'<br />', 'otherStr:',$otherStr;
?>
的结果为
enStr:0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSRUVWXYZ @ ^ *()_+-=[]\,./ <>?
otherStr: ! #$% & {}| '"你好啊我们
为什么 “#”(ascii为35)这样的也会被匹配掉 这点让我理解不了(! #$% & {}| '" 这些的ascii码都小于128)
chr是php的方法
$words = '这是一个测试test';
echo preg_replace("/[^".chr(128)."-".chr(255)"]+/is"," ",$words); //test
你试试看,preg_replace("/[^chr(128)-chr(256)]+/is"," ",$words); chr是起作用了的,上面同样得到test
这里已经详细分析回复。给俺分。谢谢。^_^
不好意思啊。 分都分完了。 多谢