mirror of
				https://github.com/smarty-php/smarty.git
				synced 2025-10-31 20:31:41 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
| * Smarty plugin
 | |
| * 
 | |
| * @package Smarty
 | |
| * @subpackage PluginsModifier
 | |
| */
 | |
| 
 | |
| /**
 | |
| * Smarty replace modifier plugin
 | |
| * 
 | |
| * Type:     modifier<br>
 | |
| * Name:     replace<br>
 | |
| * Purpose:  simple search/replace
 | |
| * 
 | |
| * @link http://smarty.php.net/manual/en/language.modifier.replace.php replace (Smarty online manual)
 | |
| * @author Monte Ohrt <monte at ohrt dot com> 
 | |
| * @author Uwe Tews 
 | |
| * @param string $ 
 | |
| * @param string $ 
 | |
| * @param string $ 
 | |
| * @return string 
 | |
| */
 | |
| function smarty_modifier_replace($string, $search, $replace)
 | |
| {
 | |
|     if (!function_exists("mb_str_replace")) {
 | |
|         // simulate the missing PHP mb_str_replace function
 | |
|         function mb_str_replace($needle, $replacement, $haystack)
 | |
|         {
 | |
|             $needle_len = mb_strlen($needle);
 | |
|             $replacement_len = mb_strlen($replacement);
 | |
|             $pos = mb_strpos($haystack, $needle, 0);
 | |
|             while ($pos !== false) {
 | |
|                 $haystack = mb_substr($haystack, 0, $pos) . $replacement
 | |
|                  . mb_substr($haystack, $pos + $needle_len);
 | |
|                 $pos = mb_strpos($haystack, $needle, $pos + $replacement_len);
 | |
|             } 
 | |
|             return $haystack;
 | |
|         } 
 | |
|     } 
 | |
|     if (function_exists('mb_substr')) {
 | |
|         return mb_str_replace($search, $replace, $string);
 | |
|     } else {
 | |
|         return str_replace($search, $replace, $string);
 | |
|     } 
 | |
| } 
 | |
| 
 | |
| ?>
 |