截取复杂table和img的正则
function splitcontent($content,$length)
{
preg_match_all("#(?=(<table(?:(?:[^<]|<(?!table))*?|(?1))*</table>))#",$content,$ar,PREG_OFFSET_CAPTURE
);
if (is_array($ar[0][0]))
{
reset($ar[0]);
for ($i=0;$i<count($ar[0]);$i++)
{
$num=$ar[0][0][1];
if ($ar[0][$i][1]>$length) {
$num=$ar[0][$i][1];
break;
}
else
{
$num=$ar[0][$i][1];
}
}
}
else
{
preg_match_all("/\<img[^\>]*?\>/i",$content, $msg,PREG_OFFSET_CAPTURE);
if (is_array($msg[0][0]))
{
reset($msg[0]);
$num=$msg[0][0][1];
if (count($msg[0])==1) {
$num=strlen($content);
}
else
{
for ($i=0;$i<count($msg[0]);$i++)
{
if ($msg[0][$i][1]>$length) {
$num=$msg[0][$i][1];
break;
}
else
{
$num=$msg[0][$i][1];
}
}
}
}
else
{
$num=$length;
}
}
return $num;
}
这个是我总结的一个截取带table和img的函数,能帮我完善一下嘛!
现在遇到复杂的table还是不行的。
希望高手指点一下!