如何重新格式化导入的地址'使用数组?

时间:2014-06-30 15:52:16

标签: php arrays replace str-replace

我需要一个策略(和帮助)来完成以下任务;
我以这种格式将地址导入数据库:

  

[111 SW 22ND RD,11111 NE 224TH ST]

我需要的是:

  

[111 SW 22nd Road,11111 NE 244th Street]

所以我的目标是两个方面:

  1. 将街道号[22nd / 144th]
  2. 中的后缀小写
  3. 用完整的单词(首字母大写)替换缩写的街道类型,即。 ST - > Street / RD - >路
  4. 我认为解决这个问题的最佳方法是:

    1. 首先小写一切=> 1111 sw 22nd st
    2. 然后将'方向'(sw)定位回大写,并
    3. 最后使用数组中的数组来识别和替换特定文本。 IE浏览器。
      Way = [way,WAY,wy,WY]
      Street = [street,STREET,st,ST]
      道路= [道路,道路,rd,RD]
    4. 这是最好的方法吗? 如果是这样,我如何处理(#2)定位和利用'方向'(SW,NE等),以及(#3)什么是可以识别和替换缩写街道类型的数组?

1 个答案:

答案 0 :(得分:0)

这照顾了一切。工作得很好!

<?php
     $data= $row['ADDRESS'];

          $find= array(
               'Way'=> array('WY','WAY','Wy'),
               'Court'=> array('CT') ,
               'Street'=> array(' ST'),
               'th'=> array('TH'),
               'rd'=> array('RD'),
               'nd'=> array('ND'),
               '1st'=> array('1ST')
               );

          foreach($find as $key => $value){
               foreach($value as $r){
               $data= str_replace($r,$key,$data);
                    }
               }
          echo $data;
?>

Noy Hadar