summaryrefslogtreecommitdiff
path: root/include/utf8/substr_replace.php
blob: 20a43b5235ec5d8275950c2a5b808033e17011c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php

/**
* @version $Id: substr_replace.php,v 1.1 2006/02/25 13:50:17 harryf Exp $
* @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(is_null($length))
		$length = utf8_strlen($str);

	array_splice($ar[0], $start, $length, $rar[0]);

	return implode($ar[0]);
}