pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

<i id='OZnk5'><tr id='OZnk5'><dt id='OZnk5'><q id='OZnk5'><span id='OZnk5'><b id='OZnk5'><form id='OZnk5'><ins id='OZnk5'></ins><ul id='OZnk5'></ul><sub id='OZnk5'></sub></form><legend id='OZnk5'></legend><bdo id='OZnk5'><pre id='OZnk5'><center id='OZnk5'></center></pre></bdo></b><th id='OZnk5'></th></span></q></dt></tr></i><div class="c6uueko" id='OZnk5'><tfoot id='OZnk5'></tfoot><dl id='OZnk5'><fieldset id='OZnk5'></fieldset></dl></div>

    <legend id='OZnk5'><style id='OZnk5'><dir id='OZnk5'><q id='OZnk5'></q></dir></style></legend>
        <bdo id='OZnk5'></bdo><ul id='OZnk5'></ul>
    1. <small id='OZnk5'></small><noframes id='OZnk5'>

      <tfoot id='OZnk5'></tfoot>

        PHP str_word_count() 多字節安全嗎?

        is PHP str_word_count() multibyte safe?(PHP str_word_count() 多字節安全嗎?)

          • <bdo id='9GJZg'></bdo><ul id='9GJZg'></ul>

              <i id='9GJZg'><tr id='9GJZg'><dt id='9GJZg'><q id='9GJZg'><span id='9GJZg'><b id='9GJZg'><form id='9GJZg'><ins id='9GJZg'></ins><ul id='9GJZg'></ul><sub id='9GJZg'></sub></form><legend id='9GJZg'></legend><bdo id='9GJZg'><pre id='9GJZg'><center id='9GJZg'></center></pre></bdo></b><th id='9GJZg'></th></span></q></dt></tr></i><div class="qkgwacu" id='9GJZg'><tfoot id='9GJZg'></tfoot><dl id='9GJZg'><fieldset id='9GJZg'></fieldset></dl></div>
            • <tfoot id='9GJZg'></tfoot>
                <tbody id='9GJZg'></tbody>

              <small id='9GJZg'></small><noframes id='9GJZg'>

                <legend id='9GJZg'><style id='9GJZg'><dir id='9GJZg'><q id='9GJZg'></q></dir></style></legend>

                1. 本文介紹了PHP str_word_count() 多字節安全嗎?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我想在 UTF-8 字符串上使用 str_word_count().

                  I want to use str_word_count() on a UTF-8 string.

                  這在 PHP 中安全嗎?在我看來應該是(特別是考慮到沒有 mb_str_word_count()).

                  Is this safe in PHP? It seems to me that it should be (especially considering that there is no mb_str_word_count()).

                  但是在 php.net 上有很多人通過展示他們自己的多字節兼容"版本函數.

                  But on php.net there are a lot of people muddying the water by presenting their own 'multibyte compatible' versions of the function.

                  所以我想我想知道...

                  So I guess I want to know...

                  1. 鑒于 str_word_count 只是計算由 " "(空格)分隔的所有字符序列,它在多字節字符串上應該是安全的,即使它不一定知道字符序列,對嗎?

                  1. Given that str_word_count simply counts all character sequences in delimited by " " (space), it should be safe on multibyte strings, even though its not necessarily aware of the character sequences, right?

                  UTF-8 中是否有任何等效的空格"字符,它們不是 ASCII " " (space)?#

                  Are there any equivalent 'space' characters in UTF-8, which are not ASCII " " (space)?#

                  我猜這就是問題所在.

                  推薦答案

                  我覺得你猜對了.事實上,UTF-8 中有一些不屬于 US-ASCII 的空格字符.給你一個這樣的空間的例子:

                  I'd say you guess right. And indeed there are space characters in UTF-8 which are not part of US-ASCII. To give you an example of such spaces:

                  • Unicode 字符 'NO-BREAK SPACE' (U+00A0):UTF-8 中的 2 個字節:0xC2 0xA0 (c2a0)
                  • Unicode Character 'NO-BREAK SPACE' (U+00A0): 2 Bytes in UTF-8: 0xC2 0xA0 (c2a0)

                  也許還有:

                  • Unicode 字符 'NEXT LINE (NEL)' (U+0085)):UTF-8 中的 2 個字節:0xC2 0x85 (c285)
                  • Unicode 字符 'LINE SEPARATOR' (U+2028):UTF-8 中的 3 個字節:0xE2 0x80 0xA8 (e280a8)
                  • Unicode 字符PARAGRAPH SEPARATOR"(U+2029):UTF-8 中的 3 個字節:0xE2 0x80 0xA8 (e280a8)
                  • Unicode Character 'NEXT LINE (NEL)' (U+0085): 2 Bytes in UTF-8: 0xC2 0x85 (c285)
                  • Unicode Character 'LINE SEPARATOR' (U+2028): 3 Bytes in UTF-8: 0xE2 0x80 0xA8 (e280a8)
                  • Unicode Character 'PARAGRAPH SEPARATOR' (U+2029): 3 Bytes in UTF-8: 0xE2 0x80 0xA8 (e280a8)

                  無論如何,第一個 - 'NO-BREAK SPACE' (U+00A0) - 是一個很好的例子,因為它也是拉丁 X 字符集的一部分.并且 PHP 手冊已經提供了一個提示,即 str_word_count 取決于語言環境.

                  Anyway, the first one - the 'NO-BREAK SPACE' (U+00A0) - is a good example as it is also part of Latin-X charsets. And the PHP manual already provides a hint that str_word_count would be locale dependent.

                  如果我們想對此進行測試,我們可以將語言環境設置為 UTF-8,傳入一個包含 xA0 序列的無效字符串,如果這仍然算作斷字字符,該函數顯然不是 UTF-8 安全的,因此不是多字節安全的(與問題中未定義的相同):

                  If we want to put this to a test, we can set the locale to UTF-8, pass in an invalid string containing a xA0 sequence and if this still counts as word-breaking character, that function is clearly not UTF-8 safe, hence not multibyte safe (as same non-defined as per the question):

                  <?php
                  /**
                   * is PHP str_word_count() multibyte safe?
                   * @link https://stackoverflow.com/q/8290537/367456
                   */
                  
                  echo 'New Locale: ', setlocale(LC_ALL, 'en_US.utf8'), "
                  
                  ";
                  
                  $test   = "awordxA0bword aword";
                  $result = str_word_count($test, 2);
                  
                  var_dump($result);
                  

                  輸出:

                  New Locale: en_US.utf8
                  
                  array(3) {
                    [0]=>
                    string(5) "aword"
                    [6]=>
                    string(5) "bword"
                    [12]=>
                    string(5) "aword"
                  }
                  

                  正如 這個演示所展示的,該功能在手冊頁上給出的區域設置承諾完全失敗(我不要對此感到奇怪或抱怨,最常見的是,如果您讀到某個函數在 PHP 中是特定于語言環境的,那么您將終生運行并找到一個不是的),我在這里利用它來證明它對 UTF- 沒有任何作用-8個字符編碼.

                  As this demo shows, that function totally fails on the locale promise it gives on the manual page (I do not wonder nor moan about this, most often if you read that a function is locale specific in PHP, run for your life and find one that is not) which I exploit here to demonstrate that it by no means does anything regarding the UTF-8 character encoding.

                  對于 UTF-8,您應該查看 PCRE 擴展名:

                  Instead for UTF-8 you should take a look into the PCRE extension:

                  • 在 PCRE/PHP 中匹配 Unicode 字母字符

                  PCRE 對 PHP 中的 Unicode 和 UTF-8 有很好的理解.如果您仔細制作正則表達式模式,它也可以非常快.

                  PCRE has a good understanding of Unicode and UTF-8 in PHP in specific. It can also be quite fast if you craft the regular expression pattern carefully.

                  這篇關于PHP str_word_count() 多字節安全嗎?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死鎖異常代碼?)
                  PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滾動游標不起作用)
                  PHP PDO ODBC connection(PHP PDO ODBC 連接)
                  Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔術方法)
                  php pdo get only one value from mysql; value that equals to variable(php pdo 只從 mysql 獲取一個值;等于變量的值)
                  MSSQL PDO could not find driver(MSSQL PDO 找不到驅動程序)
                  <tfoot id='e9X66'></tfoot>
                2. <legend id='e9X66'><style id='e9X66'><dir id='e9X66'><q id='e9X66'></q></dir></style></legend>

                          <i id='e9X66'><tr id='e9X66'><dt id='e9X66'><q id='e9X66'><span id='e9X66'><b id='e9X66'><form id='e9X66'><ins id='e9X66'></ins><ul id='e9X66'></ul><sub id='e9X66'></sub></form><legend id='e9X66'></legend><bdo id='e9X66'><pre id='e9X66'><center id='e9X66'></center></pre></bdo></b><th id='e9X66'></th></span></q></dt></tr></i><div class="wyckwai" id='e9X66'><tfoot id='e9X66'></tfoot><dl id='e9X66'><fieldset id='e9X66'></fieldset></dl></div>

                            <bdo id='e9X66'></bdo><ul id='e9X66'></ul>

                            <small id='e9X66'></small><noframes id='e9X66'>

                              <tbody id='e9X66'></tbody>
                          • 主站蜘蛛池模板: 潍坊大集网-潍坊信息港-潍坊信息网| 对照品_中药对照品_标准品_对照药材_「格利普」高纯中药标准品厂家-成都格利普生物科技有限公司 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | 箱式破碎机_移动方箱式破碎机/价格/厂家_【华盛铭重工】 | NMRV减速机|铝合金减速机|蜗轮蜗杆减速机|NMRV减速机厂家-东莞市台机减速机有限公司 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 制氮设备_PSA制氮机_激光切割制氮机_氮气机生产厂家-苏州西斯气体设备有限公司 | BHK汞灯-百科|上海熙浩实业有限公司 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 自进式锚杆-自钻式中空注浆锚杆-洛阳恒诺锚固锚杆生产厂家 | 产业规划_产业园区规划-产业投资选址及规划招商托管一体化服务商-中机院产业园区规划网 | 同步带轮_同步带_同步轮_iHF合发齿轮厂家-深圳市合发齿轮机械有限公司 | 溶氧传感器-pH传感器|哈美顿(hamilton) | 热处理炉-退火炉-回火炉设备厂家-丹阳市电炉厂有限公司 | 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | 至顶网| 上海律师咨询_上海法律在线咨询免费_找对口律师上策法网-策法网 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 桁架楼承板-钢筋桁架楼承板-江苏众力达钢筋楼承板厂 | 武汉高低温试验机-现货恒温恒湿试验箱-高低温湿热交变箱价格-湖北高天试验设备 | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | 能耗监测系统-节能监测系统-能源管理系统-三水智能化 | 合肥触摸一体机_触摸查询机厂家_合肥拼接屏-安徽迅博智能科技 | 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | 无锡装修装潢公司,口碑好的装饰装修公司-无锡索美装饰设计工程有限公司 | 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 污水/卧式/潜水/钻井/矿用/大型/小型/泥浆泵,价格,参数,型号,厂家 - 安平县鼎千泵业制造厂 | 东莞动力锂电池保护板_BMS智能软件保护板_锂电池主动均衡保护板-东莞市倡芯电子科技有限公司 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | 电机铸铝配件_汽车压铸铝合金件_发动机压铸件_青岛颖圣赫机械有限公司 | ORP控制器_ORP电极价格-上优泰百科 | 分子蒸馏设备(短程分子蒸馏装置)_上海达丰仪器 | 钢绞线万能材料试验机-全自动恒应力两用机-混凝土恒应力压力试验机-北京科达京威科技发展有限公司 | 佛山市钱丰金属不锈钢蜂窝板定制厂家|不锈钢装饰线条|不锈钢屏风| 电梯装饰板|不锈钢蜂窝板不锈钢工艺板材厂家佛山市钱丰金属制品有限公司 | 大学食堂装修设计_公司餐厅效果图_工厂食堂改造_迈普装饰 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 数码听觉统合训练系统-儿童感觉-早期言语评估与训练系统-北京鑫泰盛世科技发展有限公司 | 主题班会网 - 安全教育主题班会,各类主题班会PPT模板 | 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 |