2011-02-02 6 views
1

CSSPHPを使用して動的にしようとしています。私は出力に含まがあるべき、Lucida Sans UnicodeLucida Grandeコンテンツに空白がある場合は、一重引用符または二重引用符を追加するには

を単一引用符または二重引用符を追加したいstyle.php

ここ
body { font-family:<?php echo $two; ?>; } 

font-family

$one = 'Times New Roman, Times, serif'; 
$two = 'Lucida Sans Unicode, Lucida Grande, sans-serif'; 

body { font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif; } 

は私が引用してフォントを置換する方法を知ってみましょう

+0

文字列のすべての要素を引用できますか? – SilentGhost

答えて

2

をもう少し機能:-)

function put_quotes ($name) { 
    $name = trim($name); 
    return strpos($name, ' ') ? '"' . $name . '"' : $name; 
} 

$css = implode(', ', array_map('put_quotes', explode(',', $one))); 
0

は、あなただけ行うことができませんでした。

body { font-family:"<?php echo strpos(' ', $two) !== false ? '"'.$two.'"' : $two; ?>"; } 
1
$two = '"Lucida Sans Unicode", "Lucida Grande", sans-serif'; 

その後、

body { font-family:<?php echo $two; ?>; } 
+0

データベース上でフォントリストを引用符なしで保存します – wow

+1

彼らは変更されますか?不要な処理のようです。引用符で囲んで保存してください... – labue

1
$two = 'Lucida Sans Unicode, Lucida Grande, sans-serif'; 
$aux = explode(',',$two); 
foreach($aux as &$f){ 
    $f = trim($f); 
    if(strpos($f,' ') !== FALSE) 
     $f = '"' . $f . '"'; 
} 

echo implode(', ',$aux); // "Lucida Sans Unicode", "Lucida Grande", sans-serif 

編集:
私はKISSに何が起こった...それを考えませんでしたが、確かに、(必要な場所)変数$twoに引用符を追加するトリックを行うのでしょうか?...

+0

これを短縮するには、.implode( '"、"'、explode( '、'、$ 2)) '' '' Gumbo

+0

@Gumbo、試しましたか?あなたのソリューションは?結果: '' Lucida Sans Unicode ''' Lucida Grande' '' sans-serif ''。名前の前に空白を引用するのが良いのかどうかわかりません...それは動作しますか? – acm

+0

そうではありません。「一般的なフォントファミリ名はキーワードであり、引用符で囲む必要はありません。」 – Gumbo

0
$two_a = explode(",", $two); 
foreach($two_a as $str) { 
    $str = "'".$str."'"; 
} 
$two = implode(",", $two_a); 
関連する問題