如何创建HTML输出,根据包含嵌入的十六进制颜色代码的输入为字符串着色?
e.g
我有输入:
Jo#ff0000hn
功能应该返回:
Jo<span style="color:#ff0000">hn</span>
答案 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>';