提取字体名称并用引号显示

时间:2015-02-13 19:40:04

标签: php regex

如何仅从变量中提取字体名称并删除“+”

$font = 'Advent+Pro:100,200,300,regular,500,600,700';

内联样式

echo '<style>
.selector {
font-family:'.$font.';
}
</style>
';

输出必须为font-family:'Advent Pro';

1 个答案:

答案 0 :(得分:0)

很难猜出问题的一般形式,但是:

您可以使用:检测strpos的位置,使用substr获取子字符串,并将+替换为str_replace的空格。< / p>

$font = 'Advent+Pro:100,200,300,regular,500,600,700';
$font = str_replace ('+', ' ', substr ($font , 0, strpos ($font, ':')));
echo $font;

这只是提取字体系列名称。如果您想在这个姓氏周围加上引号,可以在代码中添加它们:

echo '<style>
.selector {
font-family:\''.$font.'\';
}
</style>
';

或将它们添加到我的中(即使我认为第一种解决方案更好):

$font = 'Advent+Pro:100,200,300,regular,500,600,700';
$font = '\'' . str_replace ('+', ' ', substr ($font , 0, strpos ($font, ':'))) . '\'';
echo $font;

请注意,如果它已经是您的字符串分隔符,则必须转义引号:'\''。您可以使用双引号作为字符串分隔符来避免这种情况:"'"

请参阅: