/*******************************************************************
Удаление любых ЗАКРЫВАЮЩИХСЯ тегов (ссылок) из строки, теги типа:
1) <a name.. или <a href...
2) <div...
3) <td.....и прочие
регистр тега НЕВАЖЕН!
По умолчанию: удаление тега <a...></a>
Параметры:
$cBodyHTML - строка с HTML
$Tag - имя тега (строка) по умолчанию 'а'
$lc_encod - кодировка $cBodyHTML, по умолчанию UTF-8
Возвращает $cBodyHTML без указанного в $Tag тега
*******************************************************************/
function DeleteTagInString( $cBodyHTML, $Tag='a', $lc_encod='UTF-8') {
$begTag = mb_strtolower('<'.$Tag, $lc_encod);
$endTag = mb_strtolower('</'.$Tag.'>', $lc_encod);
$cBodyHTML = str_replace( mb_strtoupper('<'.$Tag , $lc_encod ), $begTag,
str_replace( mb_strtoupper('</'.$Tag.'>', $lc_encod ), $endTag , $cBodyHTML ));
$aBody = explode( $endTag, $cBodyHTML );
for($i=0;$i<count( $aBody );$i++ ) {
$nPosTag = mb_strpos( $aBody[$i], $begTag, 0, $lc_encod );
if( $nPosTag!==false) {
$cc_Body0 = mb_substr( $aBody[$i], 0, $nPosTag, $lc_encod );
$cc_Body1 = mb_substr( $aBody[$i], $nPosTag, mb_strlen( $aBody[$i], $lc_encod ), $lc_encod );
$nPosLG = mb_strpos( $cc_Body1, '>', 0, $lc_encod );
if( $nPosLG!==false) {
$cc_Body2 = mb_substr( $cc_Body1, ($nPosLG+1), mb_strlen( $cc_Body1, $lc_encod ), $lc_encod );
$aBody[$i] = str_replace( $endTag,'',$cc_Body0.$cc_Body2);
}
}
}
return ( implode('',$aBody) );
}