Работая над одним из проектов на SimplaCMS столкнулись с необходимостью извлекать путь к картинке в шаблоне для последующего использования в слайдере. Так и получился этот модификатор для Smarty.

<?php 
/**
 * Smarty plugin
 *
 * @package Smarty
 * @subpackage PluginsModifier
 */
 
/**
 * Smarty extract_src modifier plugin
 *
 * Type:     modifier<br-->
 * Name:     extract_src
 * Purpose:  regular expression search/replace
 * @author   Mitrofanov Artion 
 * @param string
 * @return string
 */
function smarty_modifier_extract_src($string)
{
    preg_match('/(src=["\'](.*?)["\'])/', $string, $match);  //find src="X" or src='X'
    $split = preg_split('/["\']/', $match[0]); // split by quotes
 
    $src = $split[1]; // X between quotes 
 
    return $src;
}
 
?>

Файл рамещаете в папку модификаторов Smarty — [part_to_smarty]/libs/plugins/modifier.extract_src.php
Вызов модификатора выглядит просто

{$source_var|extract_src}

Надеюсь еще кому-то пригодится данное решение.

Опубликовать в Яндекс
Опубликовать в Facebook
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в LiveJournal
Опубликовать в Google Plus
Опубликовать в Google Buzz