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

<?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;
}
}