php 正则表达式问题

或或
正则匹配:
由于字符串是动态的,宽高可有可无,所以正则就难一点了,呵呵
要求分别返回200和300,如果有返回,如果没有,则不返回

[code="java"]$a = '

';
$b = '';
$c = '';

function get_width($s)
{
$regular = '#^

]+width="([^"]+)".+>$#';
if (preg_match($regular, $s)) {
return preg_replace($regular, '$1', $s);
}
return '';
}

echo get_width($a);
echo "
";
echo get_width($b);
echo "
";
echo get_width($c);
echo "
";[/code]

[code="php"]
$a = '

';
$b = '';
$c = '';

function get_width($s)
{
$regular = '#^

]+width="([^"]+)".+>$#';
if (preg_match($regular, $s)) {
return preg_replace($regular, '$1', $s);
}
return '';
}

echo get_width($a);
echo "
";
echo get_width($b);
echo "
";
echo get_width($c);
echo "
";
[/code]

只写了宽度,高度类似。

<td((.*?)"(.*?)"))+>

$3 的值就是所要的