/** * UTF8::strrpos * * @package Kohana * @author Kohana Team * @copyright (c) 2007-2012 Kohana Team * @copyright (c) 2005 Harry Fuecks * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt */ function _strrpos($str, $search, $offset = 0) { $offset = (int) $offset; if (\Phalcana\UTF8::isAscii($str) && \Phalcana\UTF8::isAscii($search)) { return strrpos($str, $search, $offset); } if ($offset == 0) { $array = explode($search, $str, -1); return isset($array[0]) ? \Phalcana\UTF8::strlen(implode($search, $array)) : false; } $str = \Phalcana\UTF8::substr($str, $offset); $pos = \Phalcana\UTF8::strrpos($str, $search); return $pos === false ? false : $pos + $offset; }
/** * Tests UTF8::strrpos * * @test * @dataProvider provider_strrpos */ public function test_strrpos($input, $str, $offset, $expected) { $this->assertSame($expected, UTF8::strrpos($input, $str, $offset)); }