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