2013-04-04 24 views
1

我試圖爲搜索結果的HTML頁面準備元素。用戶可以提供各種標準來搜索表單,例如城市,地區,類型。用戶可以提供每個標準或沒有標準。我想根據選定的標準生成標題。帶空參數的sprintf檢測

我的代碼:

$criteria = array('city' => $_POST['city'], $region = $_POST['region'], type => $_POST['type']); 
$titleBase = 'You are looking for %s, %s, %s - mySite.com'; 
$title = sprintf($titleBase, $criteria['city'], $criteria['region'], $criteria['type']); 
parse($title, '<title>'); 

效果: 您正在尋找城市,地區,類型 - mySite.com

這是很好的,但是如果用戶沒有提供什麼樣的 「區域」 和「類型」?我會: 您正在尋找,類型 - mySite.com。

任何解決方案?

回答

4

有很多可能的方法,從非常有針對性的修復開始,並隨着您的進行泛化。

應該工作的最簡單的是這樣的:

$lookingFor = implode(', ', array_filter($criteria)); 
$title = 'You are looking for '.$lookingFor.' - mySite.com';