0

私は何年もの間これを解決しようとしています。誰かが助けることができれば素晴らしいだろう

  $address= str_replace('/\s+/', ' ', $address_line_1.' '.$address_line_2.', '.$town_village_city.', '.$state_province_county.', '.$postal_code.', '.$country);
    return str_replace('/,+/',', ',$address);

単一のカンマと単一のスペースを使用してアドレスをフォーマットしたい場合、完全なアドレスであっても、アドレスの一部が欠落している可能性があります

,,,, を返す必要はありませんが、このインスタンスには単純な文字はありません

4

2 に答える 2

1
$address = implode(' ', array_filter(explode(' ',
   implode(', ', array_filter(explode(',', $address
))))));

これは正規表現がなくても機能しますが、正規表現がどれほど単純であるかを考えると、それらに固執します。

于 2013-01-26T00:08:11.527 に答える
0

正規表現を使用したい場合はpreg_replace()代わりに使用してくださいstr_replace()

于 2013-01-26T00:03:34.377 に答える