Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F886351
modifier.regex_replace.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
modifier.regex_replace.php
View Options
<?php
/**
* Smarty plugin
*
* @package Smarty
* @subpackage PluginsModifier
*/
/**
* Smarty regex_replace modifier plugin
*
* Type: modifier<br>
* Name: regex_replace<br>
* Purpose: regular expression search/replace
*
* @link http://smarty.php.net/manual/en/language.modifier.regex.replace.php
* regex_replace (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
* @param string $string input string
* @param string|array $search regular expression(s) to search for
* @param string|array $replace string(s) that should be replaced
* @return string
*/
function
smarty_modifier_regex_replace
(
$string
,
$search
,
$replace
)
{
if
(
is_array
(
$search
))
{
foreach
(
$search
as
$idx
=>
$s
)
{
$search
[
$idx
]
=
_smarty_regex_replace_check
(
$s
);
}
}
else
{
$search
=
_smarty_regex_replace_check
(
$search
);
}
return
preg_replace
(
$search
,
$replace
,
$string
);
}
/**
* @param string $search string(s) that should be replaced
* @return string
* @ignore
*/
function
_smarty_regex_replace_check
(
$search
)
{
// null-byte injection detection
// anything behind the first null-byte is ignored
if
((
$pos
=
strpos
(
$search
,
"
\0
"
))
!==
false
)
{
$search
=
substr
(
$search
,
0
,
$pos
);
}
// remove eval-modifier from $search
if
(
preg_match
(
'!([a-zA-Z
\s
]+)$!s'
,
$search
,
$match
)
&&
(
strpos
(
$match
[
1
],
'e'
)
!==
false
))
{
$search
=
substr
(
$search
,
0
,
-
strlen
(
$match
[
1
]))
.
preg_replace
(
'![e
\s
]+!'
,
''
,
$match
[
1
]);
}
return
$search
;
}
?>
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Mon, Apr 7, 00:45 (2 w, 2 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24785
Default Alt Text
modifier.regex_replace.php (1 KB)
Attached To
rZEDHG ZedLegacy
Event Timeline
Log In to Comment