note 74472 deleted from function.strrpos by mazzanet
| From: | mazzanet@php.net | Date: | Sat, 14 Apr 2007 08:43:16 +0000 |
| Subject: | note 74472 deleted from function.strrpos by mazzanet | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-125385@lists.php.net to get a copy of this message | ||
Note Submitter: jafet at g dot m dot a dot i dot l dot com
----
Back for an afterthought.
<?php
function more_conforming_strrpos($haystack, $needle, $offset = 0)
{
# Why does strpos() do this? Anyway...
if(!is_string($needle)) $needle = ord(intval($needle));
# Setup
$haystack = strval($haystack);
$offset = intval($offset);
$hlen = strlen($haystack);
$nlen = strlen($needle);
if($nlen == 0)
{
trigger_error(__FUNCTION__.'(): Empty delimiter.', E_USER_WARNING);
return false;
}
if($offset < 0 or $offset >= $hlen)
{
trigger_error(__FUNCTION__.'(): Offset not contained in string.', E_USER_WARNING);
return false;
}
$hrev = strrev($haystack);
$nrev = strrev($needle);
# Search
$pos = strpos($hrev, $nrev, $offset);
if($pos === false) return false;
else return $hlen - $nlen - $pos;
}
?>