2011-02-02 6 views
1

CSSPHP을 사용하여 동적으로 만들려고합니다.내용에 공백이있는 경우 작은 따옴표 나 큰 따옴표를 추가하는 방법

예 style.php 나는 Lucida Sans Unicode에 작은 따옴표 또는 큰 따옴표를 추가하려면 여기

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

font-family

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

, Lucida Grande

에 따라서 OUPUT이 있어야한다

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

는 나에게 견적 글꼴을 교체하는 방법을 알려주세요

+0

문자열의 모든 요소를 ​​인용 할 수 있습니다. – SilentGhost

답변

2

... 내 KISS에 무슨 일이 트릭을 ...? 할 수도 있습니다 (필요한) 변수 $two에 따옴표를 추가, 실제로 약간 더 많은 기능 그것을 생각하지만하지 않았다 :-)

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

DB에서 글꼴 목록을 따옴표없이 저장합니다. – 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 

편집 :
나는

+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); 
관련 문제