我顯示從客戶提供的記錄中提取的地址數據,並嘗試正確格式化。每個客戶都可以指定他們希望他們的客戶數據如何顯示,所以我爲每個使用php的sprintf()及其格式化功能的客戶端使用可編輯的基於JSON的模板。帶可選參數的Sprintf格式化
所以客戶端A,希望他們的地址看起來像:
Bill Smith
123 Fake St
Whoville, OH
將有%s<br>%s<br>%s, %s
保存格式。
客戶B想:
Bill Smith
123 Fake St, Whoville, OH 94301
隨着%s<br>%s, %s, %s %s
保存的格式,然後我這些打印格式存儲,告訴我哪些字段從和格式,也就是拉客戶特定的模板:
{
"fields": [
"full_name",
"street",
"city",
"state",
"zip"
],
"format": "%s<br>%s, %s, %s %s"
}
解碼JSON,拉動數據,並使用sprintf()
與所提供的格式效果很好寫它,並且不REQ請求我創建一個自定義格式化函數來處理各種地址格式。 的問題是,如果一個數據是空的,它就會顯示,即如果街道地址丟失,我們有:
Bill Smith
, Whoville, OH 94301
我想拿出不需要的解決方案重新發明輪子,但是可以向其他體系結構開放,這將使我能夠靈活處理具有相應靈活格式的「可選」數據。