Sergey |
|
---|---|
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
|