如何从引用中替换字符串引用?

时间:2013-01-18 18:38:46

标签: php replace

我有问题,可以帮帮我吗? 我有文字,我想将其替换为“to”。

<span>new var[128]; format(var, sizeof(var), "something %s %f", "Stuneris", 1589.0587); SendClientMessage(playerid, 0xFFFFFFFF, var);</span>

我希望"something %s %f""Stuneris"替换为<span class="numb">"something %s %f"</span><span class="numb">"Stuneris"</span>

其他问题是将0xFFFFFFFF的HEX代码替换为<span class="numb">0xFFFFFFFF</span>

我需要做什么?

2 个答案:

答案 0 :(得分:1)

您可以使用preg_replace

执行此操作
preg_replace('/"([^"]*)"/', '<span class="numb">"\1"</span>', $string);

匹配十六进制代码:

preg_replace('/0x([0-9A-Fa-f]*)/', '<span class="numb">\1</span>', $string);

答案 1 :(得分:1)

更换十六进制代码非常简单:

$text = preg_replace('/(0x[0-9a-f]+)/i','<span class="numb">$1</span>',$text);

更换引号内的字符串有点棘手。主要问题是包含"something %s %f",但排除", "(它分隔引用的字符串,但也看起来像带引号的字符串)。如果你可以确定任何字符串中都不会有逗号,你可以使用:

$text = preg_replace('/("[^",]+")/i','<span class="numb">$1</span>',$text);

如果您必须允许使用逗号,则会排除所有以逗号开头的字符串:

$text = preg_replace('/("(?!,)[^"]+")/i','<span class="numb">$1</span>',$text);