を使用して文字列内のテキストを置き換えようとしていますpreg_replace
。今、私はそれを正しく行っていないかもしれませんが、重複する文字列を置き換えようとしているため、一度実行してもうまくいきません。一度実行するpreg_replace
と、正常に動作します(テキストの半分だけが必要です)。2回実行しようとすると、ChromeとIEの両方で接続不良エラーが発生します(したがって、ブラウザの問題ではなく、そうなると思っていたわけでもありません)少なくともWAMPの場合(実際には試していません)サーバ)。
それで、何か問題がありますか:
1)私のPHPロジック、
2)私の正規表現、
3) または preg_replace と WAMP?
次の形式のすべての数値を区切りたい (間にスペースを入れたい): 0.xx
$text = "0.450.590.88 AUT 0.570.210.400.89 CUS 0.630.310.370.440.87 DEL 0.580.130.310.570.450.89 EVA 0.600.230.420.550.440.650.91 INT 0.590.390.620.530.540.520.560.85 IOP 0.480.240.440.440.440.550.580.600.88 MON 0.690.390.480.560.640.610.610.550.520.85";
for ($i=0;$i<2;$i++)
$text = preg_replace('#0\.(\d{1,4})0\.#', '0.${1} 0.', $text);
$text の結果は次のようになります。
0.45 0.59 0.88 AUT 0.57 0.21 0.40 0.89 CUS 0.63 0.31 0.37 0.44 0.87 DEL 0.58 0.13 0.31 0.57 0.45 0.89 EVA 0.60 0.23 0.42 0.55 0.44 0.65 0.91 INT 0.59 0.39 0.62 0.53 0.54 0.52 0.56 0.85 IOP 0.48 0.24 0.44 0.44 0.44 0.55 0.58 0.60 0.88 MON 0.69 0.39 0.48 0.56 0.64 0.61 0.61 0.55 0.52 0.85
ループを 1 回実行するように変更するか、テキストを短くすると、PHP は問題なく実行されます。
これはより大きなテキストの一部であるため、これらを配列に貼り付けたくはありません。より適切にフォーマットしたいだけです。背景情報の一部として、このテキストは、テキストが抽出された PDF の相関テーブルから取得されますが、空白は保持されていません。