note 83461 deleted from function.strrev by sobak
| From: | sobak@php.net | Date: | Thu, 17 Nov 2016 06:19:17 +0000 |
| Subject: | note 83461 deleted from function.strrev by sobak | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-207125@lists.php.net to get a copy of this message | ||
Note Submitter: manfred at werkzeugH dot at
----
here is my version for strings with utf8-characters represented as numerical entities (e.g.
Ӓ)
function utf8_entities_strrev($str, $preserve_numbers = true)
{
//split string into string-portions (1 byte characters, numerical entitiesor numbers)
$parts=Array();
while ($str)
{
if ($preserve_numbers && preg_match('/^([0-9]+)(.*)$/',$str,$m))
{
// number-flow
$parts[]=$m[1];
$str=$m[2];
}
elseif (preg_match('/^(\&#[0-9]+;)(.*)$/',$str,$m))
{
// numerical entity
$parts[]=$m[1];
$str=$m[2];
}
else
{
$parts[]=substr($str,0,1);
$str=substr($str,1);
}
}
$str=implode(array_reverse($parts),"");
return $str;
}