我有一个这样的字符串:x320h220
我想将此字符串拆分为两个变量:$width
和$height
我可以使用explode将其拆分,但我必须使用此方法两次才能获得这些值,因此我发现preg_split
将会解决这个问题。但我不知道正则表达式将这些字符串拆分为两个变量(查找字符串是否包含 x 然后将剩余部分剪切为 h 然后再次删除其余部分另一个变量)它们应该是这样的:
$width = 320;
$height = 220;
任何建议?
答案 0 :(得分:4)
使用preg_match()
,而不是preg_split()
。使用捕获组提取两个数字。
if (preg_match('/x(\d+)h(\d+)/', $string, $match) ) {
$width = $match[1];
$height = $match[2];
}
在正则表达式中:
x
和h
字面匹配\d+
匹配数字序列()
会创建一个捕获组,因此匹配的部分会被放入$match
数组中。答案 1 :(得分:0)
使用它
$ size = preg_split("/[xh]/", "x320h220", -1, PREG_SPLIT_NO_EMPTY)
希望它对您有用:)