在给定带有嵌入颜色代码的输入的情况下创建标记样式字符串

时间:2014-05-08 14:32:38

标签: php html

如何创建HTML输出,根据包含嵌入的十六进制颜色代码的输入为字符串着色?

e.g

我有输入:

Jo#ff0000hn

功能应该返回:

Jo<span style="color:#ff0000">hn</span>

2 个答案:

答案 0 :(得分:2)

你需要一个正则表达式,例如:

$string = 'Jo#ff0000hn'; 
echo preg_replace('/(#[0-9a-f]{1,6})([a-z]+)/i', '<span style="color:$1">$2</span>', $string);

答案 1 :(得分:0)

假设名称不包含主题标签,并且颜色始终格式化为#000000。

$name='Jo#ff0000hn';
$p=strpos($name,'#');
$color = substr($name,$p,7);
$newcolor='<span style="color:'.substr($name,$p,7).'">';
$name = str_replace($color,$newcolor,$name).'</span>';