0

我正在使用 echo 标记通过Wordpress > Appreances > Theme Options输出用户在我的网站上选择的一些字体属性。

一旦他们从这个页面上的一个选择菜单中选择了他们喜欢的字体,它就会被调用到前端的源代码中,如下所示:

头文件.php

<style>
<?php $typography = of_get_option('main-text');
if ($typography) {          
echo 'p {
    font: ' . $typography['size']. ' '.$typography['face'] . '; 
    font-style: ' . $typography['style'] . '; 
    color: '.$typography['color'].';    
}';

$typography = str_replace(' ','+',$typography); 
} 
?>
</style>

由于他们在选择菜单中的选择包括Google Web Fonts,因此某些字体包含+我想用简单的符号代替的符号 space

由于我对 PHP 有点不熟悉,我想知道如何正确地写出类似的东西

$typography = str_replace(' ','+',$typography); 

对于上面的脚本,正如我所尝试的/我放置的地方,它不起作用。

谢谢你。

4

2 回答 2

3
  $typography = str_replace(' ','+',$typography); 

应该

 $typography = str_replace('+',' ',$typography); 

为了用 a 替换+aspace

http://php.net/manual/en/function.str-replace.php

于 2012-12-18T08:09:50.087 回答
1

str_replace 函数的前 2 个参数是向后的。此外,如果您希望它在回显之前进行替换,那么您必须在回显之前进行替换。

如果您只需要为“面部”键完成替换,那么您可以执行以下操作:

<style>
<?php $typography = of_get_option('main-text');
if ($typography)
{    
    $typography['face'] = str_replace('+', ' ', $typography['face']); 

    echo 'p {
        font: ' . $typography['size']. ' '.$typography['face'] . '; 
        font-style: ' . $typography['style'] . '; 
        color: '.$typography['color'].';    
    }';
} 
?>
</style>
于 2012-12-18T08:12:55.517 回答