1
我有一個PHP sscanf函數和逗號字符的問題。我需要提取4個值,因爲這工作示例作用:php sscanf和逗號字符
<?php
$format = '%s %s, blabla %ih blabla %ih';
$input = 'blabla 08-06-2016 blabla 14h blabla 17h';
$result = sscanf($input, $format);
var_dump($result);
輸出:
array (size=4)
0 => string 'blabla' (length=10)
1 => string '08-06-2016' (length=10)
2 => int 14
3 => int 17
但我的真實的例子涉及一個逗號,而我沒有得到它的工作:
<?php
$format = '%s %s, blabla %ih blabla %ih';
$input = 'blabla 08-06-2016, blabla 14h blabla 17h';
$result = sscanf($input, $format);
var_dump($result);
輸出:
array (size=4)
0 => string 'blabla' (length=10)
1 => string '08-06-2016,' (length=11)
2 => null
3 => null
這很簡單,但我找不到解決方案......逗號是保留字嗎?
更新1:
對不起,我忘了提及這一點: 我希望使用存儲在$格式字符串模板作爲模板的sprintf過:如果我修改,包括正則表達式,它不會sprintf兼容,我錯了嗎? 我已經找到了相同的字符串模板可以用於兩個方向:包裝和解包:非常有用!...也許不可能與逗號相關?
謝謝:)
重複:http://stackoverflow.com/questions/26117192/wrong-results-by-using-sscanf-in-php – OSdave
感謝您的回覆,但我有一個限制,我忘了提及......請看看更新1 – Katapofatico
你可以擴展你想如何使用'sprintf'?請展示一個例子,以便我可以有一個更好的主意 – OSdave