看板 Knuckles_note
作者 標題 [PHP] 檢查 html字串中的 <div> 有沒有對稱
時間 2012年06月20日 Wed. PM 04:08:24
function check_html($tag,$str){ // $tag = 'div' , $str: 要檢查的字串
}
$tag_len = strlen($tag);
for($pos=0,$tag_num=0; $pos<strlen($str); ){
$pos_tag_open = stripos($str,'<'.$tag,$pos); //<div 的位置
$pos_tag_close = stripos($str,'</'.$tag.'>',$pos); //</div> 的位置
if($pos_tag_open===false && $pos_tag_close===false){
break; //沒有<div 也沒有 </div> 就結束
}elseif($pos_tag_open === false ||
($pos_tag_close !== false && ($pos_tag_close < $pos_tag_open)))
{
$pos = $pos_tag_close;
if($tag_num>0){
$tag_num--; $pos += $tag_len+3;
}else{ //去掉多的</div>
$str = substr($str,0,$pos).substr($str,$pos+$tag_len+3);
}
}elseif($pos_tag_close === false ||
($pos_tag_open !== false && ($pos_tag_open < $pos_tag_close)))
{
$tag_num++;
$pos = $pos_tag_open+$tag_len+1;
}
}
if($tag_num) $str .= "\n";
for($n=0;$n<$tag_num;$n++) $str .= '</'.$tag.'>';
return $str;
}
--
※ 作者: Knuckles 時間: 2012-06-20 16:08:24
※ 編輯: Knuckles 時間: 2012-06-20 16:18:18
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 688
回列表(←)
分享