Beispiel #1
0
/**
 * 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;
}
Beispiel #2
0
 /**
  * Tests UTF8::strrpos
  *
  * @test
  * @dataProvider provider_strrpos
  */
 public function test_strrpos($input, $str, $offset, $expected)
 {
     $this->assertSame($expected, UTF8::strrpos($input, $str, $offset));
 }