如果内容有空格,如何添加单引号或双引号

时间:2011-02-02 14:49:38

标签: php regex

我尝试使用CSS制作动态PHP

font-family

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

在style.php上

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

在这里,我想在Lucida Sans UnicodeLucida Grande

中添加单引号或双引号

所以输出应该是

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

让我知道如何用引号

替换字体

5 个答案:

答案 0 :(得分:2)

更具功能性: - )

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

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

答案 1 :(得分:1)

$two = '"Lucida Sans Unicode", "Lucida Grande", sans-serif';

然后

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

答案 2 :(得分: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

修改
我没有想到它,但事实上,在变量$two(如果需要)中添加引号可能会有所帮助......我的KISS发生了什么?...

答案 3 :(得分:0)

你能不能这样做:

body { font-family:"<?php echo strpos(' ', $two) !== false ? '"'.$two.'"' : $two; ?>"; }

答案 4 :(得分:0)

$two_a = explode(",", $two);
foreach($two_a as $str) {
    $str = "'".$str."'";
}
$two = implode(",", $two_a);