我有这个字符串&OrigPlacedDate=41759.7128&
,我希望将数字与匹配在正确的位置。我尝试过使用
$string = '&OrigPlacedDate=41759.7128&'
$origPlacedDate = '/&OrigPlacedDate=[0-9^\.]*&/';
preg_match($origPlacedDate, $string, $origPlacedDateMatches);
$origPlacedDate = preg_replace('/[^0-9]/', '', $origPlacedDateMatches);
print_r($origPlacedDate);
但我只是得到了数字。
Array ( [0] => 417597128 )
最终我希望得到41759.7128的输出
答案 0 :(得分:0)
您正在匹配数字,但未在正则表达式中包含.
。试试这个:
$string = '&OrigPlacedDate=41759.7128&';
$origPlacedDate = '/&OrigPlacedDate=[0-9^\.]*&/';
preg_match($origPlacedDate, $string, $origPlacedDateMatches);
$origPlacedDate = preg_replace('/[^0-9\.]/', '', $origPlacedDateMatches);
print_r($origPlacedDate);
输出:
Array
(
[0] => 41759.7128
)
答案 1 :(得分:0)
为什么不使用简单的正则表达式来使用更简单的方法?
map.addLayer({
"id": "markers",
"type": "symbol",
"source": "markers",
"layout": {
"icon-image": "{marker-symbol}-15",
"text-field": "{title}",
"text-font": ["Open Sans Semibold", "Arial Unicode MS Bold"],
"text-offset": [0, 0.6],
"text-anchor": "top"
}
});
输出:
41759.7128