私は、ユーザーがCMSに説明を含めていない場合、プレースホルダーメタ説明を作成しようとしています。空変数を考慮して文字列を作成するにはどうすればよいですか?
私は次のコードで開始しましたが、$phone
,$location['zip']
などの他の変数も空であれば失敗します。
<?php
if (!empty($description)) {
echo '<meta name="description" content="' .$description . '">';
}
else {
// Should return: Apple is a business located in Palo Alto, 95014. Call 408.996.1010...
$description = $name . ' is a ' . strtolower($category) . ' located in ' . $location['city'] . ', ';
$description .= $location['zip'] . '. Call ' . $phone . ' for more details today.';
echo '<meta name="description" content="' . $description . '">';
} ?>
このように説明を作成する最も効率的な方法は何ですか?現在、私はネストされたif文だけを考えることができますが、これは面倒な音です。これを行うにはクリーンな方法が必要であると確信しています。行わ
/**
* build a description based on various input variables
* @return string
*/
function build_description($description, $name, $category, array location, $phone) {
// build the description as you see fit.
}
$description = build_description(compact('description', 'name', 'category'));
$metaDescription = sprintf('<meta name="description" content="%s"', htmlspecialchars($description));
は、build_description
内の具体的な実装は、多くのを含めることができます説明として
私は理解していない「が、他の変数のいずれかがあまりにも空になっている場合はもちろん、それは失敗します。」 - 言い換えてください – Phliplip
なぜそれは乱雑に聞こえるのですか? – hakre