1

問題があります。助けてもらえますか? テキストがあり、それを " から " に置き換えたい。

<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>

その他の問題は、HEX コードを から に置き換える0xFFFFFFFFこと<span class="numb">0xFFFFFFFF</span>です。

私は何をする必要がありますか?

4

2 に答える 2

1

preg_replaceでそれを行うことができます:

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

16 進コードを一致させるには:

preg_replace('/0x([0-9A-Fa-f]*)/', '<span class="numb">\1</span>', $string);
于 2013-01-18T18:49:25.443 に答える
1

HEX コードの置き換えは簡単です。

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

引用符内の文字列を置き換えるのは、もう少し注意が必要です。主な問題は、 inlcude"something %s %f"を除外することです", "(これにより、引用符で囲まれた文字列が分離されますが、引用符で囲まれた文字列のようにも見えます)。どの文字列にもコンマが含まれないことが確実な場合は、次のようにします。

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

コンマを許可する必要がある場合、これはコンマで始まるすべての文字列を除外します:

$text = preg_replace('/("(?!,)[^"]+")/i','<span class="numb">$1</span>',$text);
于 2013-01-18T18:50:51.020 に答える