我有一个看起来像这样的聊天记录文件(名称代表屏幕名称,文本是他们的聊天字符串)
name: some text
name2: more text
name: text
name3: text
我想为
:
之前的所有名称着色红色的。例如:<font color=red>myname:</fontcolor> hello
我该怎么做?我不知道为什么,但是这段代码在冒号之后给所有东西上色
echo preg_replace('/(.*?):/', "<font color=#F00>$1</font>:", $output);
最佳答案
之前已经提供了对这个问题的正确答案:
看第二个回答:
PHP: insert text up to delimiter
另外,你的实现是错误的,看看它应该以 ^ 开头的正则表达式:
echo preg_replace('/(.*?):/', "<font color=#F00>$1</font>:", $output);
应该:
echo preg_replace('/^(.*?):/', "<font color=#F00>$1</font>:", $output);
关于PHP:替换所有实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7297052/