我正在编写一个str_replace函数,用span和color-style标签替换特殊字符和数字的特定组合。例如,`5
被替换为<span style='color=0000FF'>
。必须替换的值和替换器是从以UTF-8-ci编码的SQL(MySQL)表中选择的,以支持特殊的字符和变音符号。
$output=str_replace("{$farben['anzeigecode']}","<span style='color: {$farben['htmlfarbe']}'>",$output);
该功能正好处理`z
和+1
等内容,将其替换为<span color=x>
标记。正如预期的那样,如果变音符和特殊字符在字母前面没有`
或+
,它也会保持不变。
如果它混乱并返回html表达式(例如¨
)是组合,例如:`ö
`ü
`Ü
等。它也会忽略(但是不会返回由+
或#
和变音符号组成的html表达式组合,例如+ö
,+Ö
,+ä
- 即使这些函数正在使用的SQL表中。
函数所在的文件及其使用的文件保存为UTF-8,不含BOM。
Tl; dr:这对我来说真是令人费解 - 最后,函数未触及的Ü的输出工作正常,但函数应该替换某些东西的`Ü
返回{{ 1}}和Ü
以及+Ü
只会被忽略。
导致这种情况的原因是什么?