You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							33 lines
						
					
					
						
							617 B
						
					
					
				
			
		
		
	
	
							33 lines
						
					
					
						
							617 B
						
					
					
				<?php | 
						|
/** | 
						|
 * Created by Error202 | 
						|
 * Date: 08.08.2018 | 
						|
 */ | 
						|
 | 
						|
namespace common\behaviors; | 
						|
 | 
						|
use yii\helpers\Html; | 
						|
use yii\base\Behavior; | 
						|
 | 
						|
class WidgetContentBehavior extends Behavior | 
						|
{ | 
						|
    /** | 
						|
     * Parse Widgets #?= ... ?# | 
						|
     * | 
						|
     * @param $text | 
						|
     * | 
						|
     * @return string | 
						|
     */ | 
						|
    public function content($text): string | 
						|
    { | 
						|
        $content = preg_replace_callback('/\[\?= (.*)\((.*)\) \?\]/m', function ($m) { | 
						|
            $array  = []; | 
						|
            $string = Html::decode($m[2]); | 
						|
            eval("\$array = $string;"); | 
						|
 | 
						|
            return $m[1]($array); | 
						|
        }, $text); | 
						|
 | 
						|
        return $content; | 
						|
    } | 
						|
}
 | 
						|
 |