Forums / Cotonti / Extensions / Commercial plug-ins

Sergey
#26022 2010-09-09 22:29
I write a plug-in Russian, I feel more comfortable
function параметр_тега 	//функция вставляет в строку тега типа <содержимое тега>
						//параметр $вставляем_параметр  вместо cуществующего параметра, если он есть
	(
	$тег,
	$вставляем_параметр=FALSE
	)
{
if	(!$вставляем_параметр)return $тег;
$часть=preg_split("/(\\s*[\<])([^\>]*)/ui", $тег,4,PREG_SPLIT_DELIM_CAPTURE);
if	(count($часть) == 4)
	{
	$тег = $часть[2];
    $лексемы=$добавить_параметр=$параметр=$значение_параметра=FALSE;
	foreach	($вставляем_параметр as $код => $значение_кода)
 		{
		switch($код)
			{
			case 'code': // лексемы
				{
  			    $лексемы=$значение_кода;
  			    break;
  			    }
  			case 'enabled': // добавить параметр
				{
  			    $включать=$значение_кода;
  			    break;
  			    }
  			default:
				{
				$параметр=$код;
				$значение_параметра=$значение_кода;
  			    }
 			}
 		}
    $вставили=FALSE;
	if	($лексемы !== FALSE and $включать !== FALSE and $параметр)
		{
		if	(!empty($включать)) $значение_параметра=$включать;
		foreach	($лексемы as $код)
 			{
			$часть=preg_split("/($код\\s*\=\\s*[\'|\"])([^\'|\"]*)/ui", $тег,4,PREG_SPLIT_DELIM_CAPTURE);
			if	(count($часть) == 4)
				{
				$тег=$часть[0].' '.$часть[1].(empty($значение_параметра)?$часть[2]:$значение_параметра).$часть[3];
				$вставили=TRUE; break;
				}
			}
		}
    if	($включать !== FALSE and $параметр and !$вставили)  $тег .= ' '.$параметр.'=\"'.$значение_параметра.'\"';
    $тег = '<'.$тег.'>';
	}
return $тег;
}


$получили=параметр_тега (' < тег  Title = "word">  ',array('Title'=>'Новый текст','code'=>array('title','подсказка'),'enabled'=>'фигня'));
echo $получили;
www.cotonti.mobi