の一部を置き換える:###-##-####
のphpにpreg_replace - 私は任意のパターンマッチングを見つけたい、社会
をして***-**
で###-##,
を置き換えるが、-####
を残して、私は以下のこのを試してみましたが、何もされていません全く置き換えられました。
preg_replace('/(^[\d]{3})(-)([\d]{2})(-[\d]{4}$)/','\2\4',$myText);
すべてのヘルプは、それが現在、以下の提案のいくつかを試した後、立っているとして、ここで私の全体のコード列で、
更新を高く評価しています。私は2番目のエコー出力を最初のものと比較しています...そして社会的な数字はすべて同じままです。
また、以下で述べるように、私の弦には単なる社会的なもの以上のものが含まれています...それは何千もの文字です。私の本当の問題だと思います。申し訳ありませんが、私は最初にそれを明確にしませんでした。
//Make the CSC credit report request.
$strCscResponse = $Csc->makeRequest($strFixedFormatRecord);
echo "<br/><br/><pre>" . $strCscResponse . "</pre><br/><br/>";
$strCscResponse = str_replace("!", " ", $strCscResponse);
$strCscResponse = preg_replace('/^\d{3}-\d{2}(-\d{4})$/','***-**$1',$strCscResponse);
echo "<br/><br/><pre>" . $strCscResponse . "</pre><br/><br/>";
更新
私は、私は、文字列がその中にちょうど社会的以上のものを持っていませんでし明らかにするという理由だけで、すべての答えと「答え」をマークしたいと思います。この問題の助けをありがとう、恥ずかしがり屋として、私は数日間私を荒らしてきました。
あなたは長いパターンの文字列を意味するのですか?もしそうなら、ラインアンカーの始めと終わりはどんなマッチをも捨てるでしょう。また、あなたはアスタリスクで何も置き換えていません。これはあなたの質問が示唆しているようなものです(例:: '123-45-6789'を' *** - ** - 6789'に置き換えてください) –