25 lines
600 B
PHP
25 lines
600 B
PHP
|
<?php
|
||
|
/**
|
||
|
* @version $Id$
|
||
|
* @package utf8
|
||
|
* @subpackage strings
|
||
|
*/
|
||
|
|
||
|
//---------------------------------------------------------------
|
||
|
/**
|
||
|
* UTF-8 aware substr_replace.
|
||
|
* Note: requires utf8_substr to be loaded
|
||
|
* @see http://www.php.net/substr_replace
|
||
|
* @see utf8_strlen
|
||
|
* @see utf8_substr
|
||
|
*/
|
||
|
function utf8_substr_replace($str, $repl, $start , $length = NULL ) {
|
||
|
preg_match_all('/./us', $str, $ar);
|
||
|
preg_match_all('/./us', $repl, $rar);
|
||
|
if( $length === NULL ) {
|
||
|
$length = utf8_strlen($str);
|
||
|
}
|
||
|
array_splice( $ar[0], $start, $length, $rar[0] );
|
||
|
return join('',$ar[0]);
|
||
|
}
|