PHP Regex从样式返回高度和宽度

时间:2014-11-11 19:15:22

标签: php regex

echo "Style : ".$style_src."<br>";

返回Style:width:1000px; height:500px

我现在正试图添加高度和高度的回声。宽度

样式:宽度:1000px;高度:500px;

样式高度:500

样式宽度:1000

我对regex知之甚少,但在regexr / height [\ D] +([0-9px | \%] {0,})/ highlight height:500px

如果要返回500号,我需要更改什么?我甚至需要正则表达式......其他更简单的方法吗?

2 个答案:

答案 0 :(得分:2)

您可以使用非常简单的正则表达式

width:(\d+).*height:(\d+)

匹配组1将包含宽度,组2将包含高度

了解正则表达式在http://regex101.com/r/uT1lH4/2

的匹配情况

代码可以

$re = "/width:(\\d+).*height:(\\d+)/";
$str = "Style: width:1000px;height:500px;";

preg_match($re, $str, $matches);
echo "Style Height ",$matches[1],"<br>Style Width ",$matches[2];

将产生输出

Style Height 1000
Style Width 500

如果您不确定widthheight可能出现的顺序,则使用两个不同的正则表达式进行单独匹配将执行此任务

width:(\d+) # Matches width
height:(\d+) # Matches height

感谢Brian Stephens的建议

答案 1 :(得分:0)

试试这个:

$re = "/width:(?<width>\\d+).*height:(?<height>\\d+)/";
$str = "Style: width:1000px;height:500px;";

preg_match($re, $str, $matches);
var_dump($matches);