Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F390901
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 plugins
*/
/**
* 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
* @param string|array
* @param string|array
* @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
);
}
function
_smarty_regex_replace_check
(
$search
)
{
if
((
$pos
=
strpos
(
$search
,
"
\0
"
))
!==
false
)
$search
=
substr
(
$search
,
0
,
$pos
);
if
(
preg_match
(
'!([a-zA-Z
\s
]+)$!s'
,
$search
,
$match
)
&&
(
strpos
(
$match
[
1
],
'e'
)
!==
false
))
{
/* remove eval-modifier from $search */
$search
=
substr
(
$search
,
0
,
-
strlen
(
$match
[
1
]))
.
preg_replace
(
'![e
\s
]+!'
,
''
,
$match
[
1
]);
}
return
$search
;
}
/* vim: set expandtab: */
?>
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Feb 22, 15:28 (22 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25451
Default Alt Text
modifier.regex_replace.php (1 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment