我需要从帖子标题字符串中提取,如:
12毫升 12毫升 123毫升 123毫升 12.3毫升 12.3毫升
现在我正在使用:
preg_match_all("/[0-9]+\sml/i", $post->post_title, $percentage);
if(isset($percentage[0][0]) && $percentage[0][0] != "" ){
$text = $percentage[0][0]." ";
}
echo $text;
但是不知道如何为点分隔数字设置它。
答案 0 :(得分:0)
你可以这样做:
$str = "abc 12ml def 12 ml xyz 123ml tuv 123 ml jhsfg 12.3ml qjsdfkjfhg 12.3 ml";
if (preg_match_all("/\d+(?:\.\d+)?\s*ml/i", $str, $percentage)) {
print_r($percentage);
}
<强>输出:强>
Array
(
[0] => Array
(
[0] => 12ml
[1] => 12 ml
[2] => 123ml
[3] => 123 ml
[4] => 12.3ml
[5] => 12.3 ml
)
)
<强>解释强>
/ : regex delimiter
\d+ : 1 or more digits
(?: : start non capture group
\. : a dot
\d+ : 1 or more digits
)? : end group, optional
\s* : 0 or more spaces
ml : literally ml
/i : regex delimiter, flag case insensitive