顯示廣告
隱藏 ✕
看板 Knuckles_note
作者 Knuckles (站長 那克斯)
標題 [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 
e)編輯 d)刪除 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇