-6

私は次の文字列を持っています:

a&b.c'd,e f

私はどのように見えますか

а_b_c_d_e_f

正規表現パターンはどのように見えますか?

前もって感謝します !

4

2 に答える 2

7

それは次のように単純に見えます...

$str = "a&b.c'd,e f";
$str = preg_replace('#\W#', '_', $str);

...ただし、実際には、(英数字または「_」以外の文字)と同等であるため、特殊と見なす文字依存する必要があります。あなたの場合、それは十分かもしれないし、そうでないかもしれません。そうでない場合は、ここで文字クラスを使用する可能性があります。\W[^a-zA-Z0-9_]

$str = "a&b.c'd,e f";
$str = preg_replace('#[^a-zA-Z0-9_-]#', '_', $str);

この例では、ハイフン'-'も置き換えられません。

于 2012-09-26T12:34:04.890 に答える
1

preg_replace

$regex = "(.*)\W(.*)";
$content = "a&b.c'd,e f"
preg_replace($regex, "_", $content);
于 2012-09-26T12:36:40.267 に答える