function strip_attributes($msg, $tag, $attr, $suffix = "") {
$lengthfirst = 0;
while (strstr(substr($msg, $lengthfirst), "<$tag ") != "") {
$tag_start = $lengthfirst + strpos(substr($msg, $lengthfirst), "<$tag ");
$partafterwith = substr($msg, $tag_start);
$img = substr($partafterwith, 0, strpos($partafterwith, ">") + 1);
$img = str_replace(" =", "=", $img);
$out = "<$tag";
for($i=0; $i < count($attr); $i++){
if (empty($attr[$i])) {
continue;
}
$long_val = (strpos($img, " ", strpos($img, $attr[$i] . "=")) === FALSE) ? strpos($img, ">", strpos($img, $attr[$i] . "=")) - (strpos($img, $attr[$i] . "=") + strlen($attr[$i]) + 1) : strpos($img, " ", strpos($img, $attr[$i] . "=")) - (strpos($img, $attr[$i] . "=") + strlen($attr[$i]) + 1);
$val = substr($img, strpos($img, $attr[$i] . "=" ) + strlen($attr[$i]) + 1, $long_val);
if (!empty($val)) {
$out .= " " . $attr[$i] . "=" . $val;
}
}
if (!empty($suffix)) {
$out .= " " . $suffix;
}
$out .= ">";
$partafter = substr($partafterwith, strpos($partafterwith,">") + 1);
$msg = substr($msg, 0, $tag_start). $out. $partafter;
$lengthfirst = $tag_start + 3;
}
return $msg;
} Эта функция принимает 4 параметры.1. $msg. Текст, который вы хотите лишить атрибутов.
2. $tag. Тег, с которого вы хотите убрать атрибуты (p, span, div, например).
3. $attr. Массив с названиями атрибутов, которых вы хотите убрать (оставив остальные нетронутыми). Если массив пуст, функция уберет все атрибуты.
4. $suffix. Дополнительный текст, который надо добавить к тегу. Это может быть новый атрибут, например.