如何使用替换对话文本?
How to use replace for a conversation text?
我想替换聊天语句中说话人的名字。假设我有以下聊天。
詹姆斯:你在做什么?
丽莎:没什么。
马云:我也是。
我想用preg_replace变成这样
詹姆斯:你在做什么?
丽莎:没什么。
马云:我也是
我试过了,但这是我得到的结果
詹姆斯:你在做什么?
丽莎:没什么。
马库斯马:我也是。
请检查我的代码并告诉我哪里出了问题,非常感谢
preg_replace("/(\w+:)/i","<b></b> ", $text);
将此部分 (\w+:)
更改为此部分 ([\w\s]+:)
。
它将包含空格 \s
。
同时设置只在开头匹配^
。
结果将是:
preg_replace("/^([\w\s]+:)/i","<b></b> ", $text);
希望对您有所帮助。
你应该使用这个:
preg_replace("/^([^\:]+\:)/i","<b></b> ", $text);
如果名称包含任何非单词字符,将会有所帮助。
我想这就是您要找的,希望这对您有所帮助
preg_replace('/^(.+:)\s([\w\s?]+)/i','<b></b> <em></em>',$str);
我想替换聊天语句中说话人的名字。假设我有以下聊天。
詹姆斯:你在做什么?
丽莎:没什么。
马云:我也是。
我想用preg_replace变成这样
詹姆斯:你在做什么?
丽莎:没什么。
马云:我也是
我试过了,但这是我得到的结果
詹姆斯:你在做什么?
丽莎:没什么。
马库斯马:我也是。
请检查我的代码并告诉我哪里出了问题,非常感谢
preg_replace("/(\w+:)/i","<b></b> ", $text);
将此部分 (\w+:)
更改为此部分 ([\w\s]+:)
。
它将包含空格 \s
。
同时设置只在开头匹配^
。
结果将是:
preg_replace("/^([\w\s]+:)/i","<b></b> ", $text);
希望对您有所帮助。
你应该使用这个:
preg_replace("/^([^\:]+\:)/i","<b></b> ", $text);
如果名称包含任何非单词字符,将会有所帮助。
我想这就是您要找的,希望这对您有所帮助
preg_replace('/^(.+:)\s([\w\s?]+)/i','<b></b> <em></em>',$str);