/** * testMultibyteSubstrCount method * * @return void */ public function testMultibyteSubstrCount() { $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $find = 'F'; $result = Multibyte::substrCount($string, $find); $expected = 1; $this->assertEquals($expected, $result); $string = 'ABCDEFGHIJKLMNOPQFRSFTUVWXYZ0F12345F6789'; $find = 'F'; $result = Multibyte::substrCount($string, $find); $expected = 5; $this->assertEquals($expected, $result); $string = 'ÀÁÂÃÄÅÆÇÈÉÅÊËÌÍÎÏÐÑÒÓÔÅÕÖØÅÙÚÛÅÜÝÞ'; $find = 'Å'; $result = Multibyte::substrCount($string, $find); $expected = 5; $this->assertEquals($expected, $result); $string = 'ÀÁÙÚÂÃÄÅÆÇÈÙÚÉÊËÌÍÎÏÐÑÒÓÔÕÖØÅÙÚÛÜÝÞÙÚ'; $find = 'ÙÚ'; $result = Multibyte::substrCount($string, $find); $expected = 4; $this->assertEquals($expected, $result); $string = 'ÀÁÂÃÄÅÆÇÈÉÊÅËÌÍÎÏÐÑÒÓÔÕÅÖØÅÙÚÅÛÜÅÝÞÅ'; $find = 'Å'; $result = Multibyte::substrCount($string, $find); $expected = 7; $this->assertEquals($expected, $result); $string = 'ĊĀĂĄĆĈĊČĎĐĒĔĖĊĘĚĜĞĠĢĤĦĨĪĬĮĊIJĴĶĹĻĽĿŁŃŅŇŊŌĊŎŐŒŔŖŘŚŜŞŠŢĊŤŦŨŪŬŮŰĊŲŴŶŹŻŽ'; $find = 'Ċ'; $result = Multibyte::substrCount($string, $find); $expected = 7; $this->assertEquals($expected, $result); $string = 'ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĊĞĠĢĤĦĨĪĬĮIJĴĶĹĻĽĿŁĊŃŅĊŇŊŌŎŐŒŔŖĊŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŹŻŽ'; $find = 'Ċ'; $result = Multibyte::substrCount($string, $find); $expected = 5; $this->assertEquals($expected, $result); $string = '!"#$%&\'()*+,-./012F34567F89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghiFjklmnopqFrstuvwFxyz{|}~'; $find = 'F'; $result = Multibyte::substrCount($string, $find); $expected = 6; $this->assertEquals($expected, $result); $string = '¡¢£¤¥µ¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁµÂõÄÅÆǵÈ'; $find = 'µ'; $result = Multibyte::substrCount($string, $find); $expected = 5; $this->assertEquals($expected, $result); $string = 'ÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôÕÖõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉÕÖĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝÕÖĞğĠġĢģĤĥĦÕÖħĨĩĪīĬ'; $find = 'ÕÖ'; $result = Multibyte::substrCount($string, $find); $expected = 5; $this->assertEquals($expected, $result); $string = 'ĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōĵĶķĸĹŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšĵĶķĸĹŢţŤťŦŧŨũŪūŬŭŮůŰűŲųĵĶķĸĹŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐ'; $find = 'ĵĶķĸĹ'; $result = Multibyte::substrCount($string, $find); $expected = 4; $this->assertEquals($expected, $result); $string = 'ƑƒƓƔƕƖƸƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJƸNjnjǍǎǏǐǑǒǓƸǔǕǖǗǘǙǚƸǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ'; $find = 'Ƹ'; $result = Multibyte::substrCount($string, $find); $expected = 5; $this->assertEquals($expected, $result); $string = 'ƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƹƠơƢƣƤƥƦƧƨƩƹƪƫƬƭƮƯưƱƲƳƴƹƵƶƷƸƹƺƻƼƽƾƿǀǁǂƹǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴ'; $find = 'ƹ'; $result = Multibyte::substrCount($string, $find); $expected = 5; $this->assertEquals($expected, $result); $string = 'əɚɛɜɝɞʀɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʀʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʀʨʩʪʫʬʭʮʯʰʱʲʳʴʵʶʷʸʹʺʀʻʼ'; $find = 'ʀ'; $result = Multibyte::substrCount($string, $find); $expected = 5; $this->assertEquals($expected, $result); $string = 'ЀЁЂЃЄЅІЇЈЉЊЋЌЍЇЎЏАБВГДЕЖЗИЙКЛ'; $find = 'Ї'; $result = Multibyte::substrCount($string, $find); $expected = 2; $this->assertEquals($expected, $result); $string = 'МНОПРСРТУФХЦЧШЩЪЫЬРЭЮЯабРвгдежзийклРмнопрстуфхцчшщъыь'; $find = 'Р'; $result = Multibyte::substrCount($string, $find); $expected = 5; $this->assertEquals($expected, $result); $string = 'МНОПРСрТУФХЦЧШЩЪЫрЬЭЮЯабвгдежзийклмнопррстуфхцчшщъыь'; $find = 'р'; $result = Multibyte::substrCount($string, $find); $expected = 4; $this->assertEquals($expected, $result); $string = 'فنقكلنمنهونىينًٌٍَُ'; $find = 'ن'; $result = Multibyte::substrCount($string, $find); $expected = 5; $this->assertEquals($expected, $result); $string = '✰✱✲✳✿✴✵✶✷✸✿✹✺✻✼✽✾✿❀❁❂❃❄❅❆✿❇❈❉❊❋❌❍❎❏❐❑❒❓❔❕❖❗❘❙❚❛❜❝❞'; $find = '✿'; $result = Multibyte::substrCount($string, $find); $expected = 4; $this->assertEquals($expected, $result); $string = '⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺐⺊⺋⺌⺍⺎⺏⺐⺑⺒⺓⺔⺕⺖⺗⺘⺙⺛⺜⺝⺞⺟⺠⺡⺢⺣⺤⺥⺦⺧⺨⺐⺩⺪⺫⺬⺭⺮⺯⺰⺱⺲⺳⺴⺵⺶⺷⺸⺹⺺⺻⺼⺽⺾⺿⻀⻁⻂⻃⻄⻅⻆⻇⻈⻉⺐⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠'; $find = '⺐'; $result = Multibyte::substrCount($string, $find); $expected = 4; $this->assertEquals($expected, $result); $string = '⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽤⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽤⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿'; $find = '⽤'; $result = Multibyte::substrCount($string, $find); $expected = 3; $this->assertEquals($expected, $result); $string = '눡눢눣눤눥눦눺눻눼눧눨눩눪눫눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕눺눻눼뉖뉗뉘뉙뉚뉛뉜뉝눺눻눼뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻뉼뉽뉾뉿늀늁늂늃늄'; $find = '눺눻눼'; $result = Multibyte::substrCount($string, $find); $expected = 4; $this->assertEquals($expected, $result); $string = 'ﺞﺟﺠﺡﹰﹱﹲﹳﹴﹶﹷﹸﹹﹺﹻﹼﹽﹾﹿﺀﺁﺂﺃﺄﺅﺞﺟﺠﺡﺆﺇﺞﺟﺠﺡﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰ'; $find = 'ﺞﺟﺠﺡ'; $result = Multibyte::substrCount($string, $find); $expected = 4; $this->assertEquals($expected, $result); $string = 'ﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﻞﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻞﻕﻖﻗﻘﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻞﻸﻹﻺﻞﻻﻼ'; $find = 'ﻞ'; $result = Multibyte::substrCount($string, $find); $expected = 5; $this->assertEquals($expected, $result); $string = 'abcdkefghijklmnopqrstuvwxkyz'; $find = 'k'; $result = Multibyte::substrCount($string, $find); $expected = 3; $this->assertEquals($expected, $result); $string = 'abklmcdefghijklmnopqrstuvklmwxyz'; $find = 'klm'; $result = Multibyte::substrCount($string, $find); $expected = 3; $this->assertEquals($expected, $result); $string = 'abcdppefghijklmnoppqrstuvwxyz'; $find = 'ppe'; $result = Multibyte::substrCount($string, $find); $expected = 1; $this->assertEquals($expected, $result); $string = '。「」、・ヲァィゥェォャュョッーアイウエオカキク'; $find = 'ア'; $result = Multibyte::substrCount($string, $find); $expected = 1; $this->assertEquals($expected, $result); $string = 'ケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙'; $find = 'ハ'; $result = Multibyte::substrCount($string, $find); $expected = 1; $this->assertEquals($expected, $result); $string = 'Ĥēĺļŏ, Ŵőřļď!'; $find = 'ő'; $result = Multibyte::substrCount($string, $find); $expected = 1; $this->assertEquals($expected, $result); $string = 'Ĥēĺļŏ, Ŵőřļď!'; $find = 'ĺļ'; $result = Multibyte::substrCount($string, $find); $expected = 1; $this->assertEquals($expected, $result); $string = 'Hello, World!'; $find = 'o'; $result = Multibyte::substrCount($string, $find); $expected = 2; $this->assertEquals($expected, $result); $string = 'Hello, World!'; $find = 'rl'; $result = Multibyte::substrCount($string, $find); $expected = 1; $this->assertEquals($expected, $result); $string = 'čini'; $find = 'n'; $result = Multibyte::substrCount($string, $find); $expected = 1; $this->assertEquals($expected, $result); $string = 'ničiničiini'; $find = 'n'; $result = Multibyte::substrCount($string, $find); $expected = 3; $this->assertEquals($expected, $result); $string = 'moći'; $find = 'ć'; $result = Multibyte::substrCount($string, $find); $expected = 1; $this->assertEquals($expected, $result); $string = 'moćimoćimoćmćioći'; $find = 'ći'; $result = Multibyte::substrCount($string, $find); $expected = 4; $this->assertEquals($expected, $result); $string = 'državni'; $find = 'ž'; $result = Multibyte::substrCount($string, $find); $expected = 1; $this->assertEquals($expected, $result); $string = '把百度设为首页'; $find = '设'; $result = Multibyte::substrCount($string, $find); $expected = 1; $this->assertEquals($expected, $result); $string = '一二三周永龍'; $find = '周'; $result = Multibyte::substrCount($string, $find); $expected = 1; $this->assertEquals($expected, $result); $string = 'Ĥēĺļŏ, Ŵőřļď!'; $find = 'H'; $result = Multibyte::substrCount($string, $find); $expected = 0; $this->assertEquals($expected, $result); }
function mb_substr_count($haystack, $needle, $encoding = null) { return Multibyte::substrCount($haystack, $needle); }