source: subversion/sites/namefinder/php/mb.php @ 17445

Last change on this file since 17445 was 4134, checked in by david, 12 years ago

Main application files

File size: 832 bytes
Line 
1<?php
2
3/* Provides replacements for the mb_ functions needed when PHP is compiled without them;
4   loaded in preamble.php if necessary  */
5
6function mb_strlen($s, $utf8) {
7  $c = 0;
8  for($i = 0; $i < strlen($s); $i++) {
9    $c++;
10    $o = ord($s{$i});
11    if (($o & 0xF8) == 0xF0) { $i += 3; } 
12    else if (($o & 0xF0) == 0xE0) { $i += 2; } 
13    else if (($o & 0xE0) == 0xC0) { $i += 1; } 
14  }
15  return $c;
16}
17
18function mb_substr($s, $f, $l, $utf8) {
19  $c = 0;
20  for($i = 0; $i < strlen($s); $i++) {
21    if ($f == $c) { $sf = $i; }
22    if ($f + $l == $c) { break; }
23    $c++;
24    $o = ord($s{$i});
25    if (($o & 0xF8) == 0xF0) { $i += 3; } 
26    else if (($o & 0xF0) == 0xE0) { $i += 2; } 
27    else if (($o & 0xE0) == 0xC0) { $i += 1; } 
28  }
29  $sl = $i - $sf; 
30  return substr($s, $sf, $sl); 
31}
32
33?>
Note: See TracBrowser for help on using the repository browser.