[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Smarty plugin 4 * 5 * @package Smarty 6 * @subpackage PluginsModifier 7 */ 8 9 /** 10 * Smarty regex_replace modifier plugin 11 * 12 * Type: modifier<br> 13 * Name: regex_replace<br> 14 * Purpose: regular expression search/replace 15 * 16 * @link http://smarty.php.net/manual/en/language.modifier.regex.replace.php 17 * regex_replace (Smarty online manual) 18 * @author Monte Ohrt <monte at ohrt dot com> 19 * @param string $string input string 20 * @param string|array $search regular expression(s) to search for 21 * @param string|array $replace string(s) that should be replaced 22 * @return string 23 */ 24 function smarty_modifier_regex_replace($string, $search, $replace) 25 { 26 if(is_array($search)) { 27 foreach($search as $idx => $s) { 28 $search[$idx] = _smarty_regex_replace_check($s); 29 } 30 } else { 31 $search = _smarty_regex_replace_check($search); 32 } 33 return preg_replace($search, $replace, $string); 34 } 35 36 /** 37 * @param string $search string(s) that should be replaced 38 * @return string 39 * @ignore 40 */ 41 function _smarty_regex_replace_check($search) 42 { 43 // null-byte injection detection 44 // anything behind the first null-byte is ignored 45 if (($pos = strpos($search,"\0")) !== false) { 46 $search = substr($search,0,$pos); 47 } 48 // remove eval-modifier from $search 49 if (preg_match('!([a-zA-Z\s]+)$!s', $search, $match) && (strpos($match[1], 'e') !== false)) { 50 $search = substr($search, 0, -strlen($match[1])) . preg_replace('![e\s]+!', '', $match[1]); 51 } 52 return $search; 53 } 54 55 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |