假设我有以下示例:
$string = "^4Hello World ^5Foo^8Bar";
我目前正在使用以下函数来替换插入符号和相邻的数字,这是我能得到的最接近我想要的数字。
function addColours($input) {
$var = $input;
$var = str_replace('^0', '</span><span style="color: #000000">', $var);
$var = str_replace('^1', '</span><span style="color: #ff0000">', $var);
$var = str_replace('^2', '</span><span style="color: #00ff00">', $var);
$var = str_replace('^3', '</span><span style="color: #ffff00">', $var);
$var = str_replace('^4', '</span><span style="color: #0000ff">', $var);
$var = str_replace('^5', '</span><span style="color: #00ffff">', $var);
$var = str_replace('^6', '</span><span style="color: #ff00ff">', $var);
$var = str_replace('^7', '</span><span style="color: #ffffff">', $var);
$var = str_replace('^8', '</span><span style="color: #CC9933">', $var);
$var = str_replace('^9', '</span><span style="color: #8D8D8D">', $var);
return $var;
}
这将为字符串返回以下内容。
</span><span style="color: #0000ff">Hello World </span><span style="color: #00ffff">Foo</span><span style="color: #CC9933">Bar
它适用于字符串的中间部分,但显然它</span>
在字符串的开头添加了一个不需要的标签,并且没有关闭结束标签。
有什么办法可以使这项工作?
谢谢,本。