当前位置: 代码迷 >> PHP >> 这样的正规表达式如何写
  详细解决方案

这样的正规表达式如何写

热度:128   发布时间:2013-10-27 15:21:50.0
这样的正规表达式怎么写?
Mon-Fri 8:00-23:00; Sat 10:00-23:00; Sun 10:00-22:00;

把上面变成 周一~周五8:00-23:00; 周六10:00-23:00; 周日10:00-22:00;

$str="Mon-Fri 8:00-23:00; Sat 10:00-23:00; Sun 10:00-22:00;"
$en=array("Mon", "Fri","Sat","Sun");
$cn=array("周一", "周五","周六","周日");
$str=str_replace($en, $cn, $str);

请问如何把英文之间的"-"变成~, 时间中间的不替换?
英文和数字间的空格如何替换?


------解决方案--------------------

$str="Mon-Fri 8:00-23:00; Sat 10:00-23:00; Sun 10:00-22:00";
 $en=array("Mon", "Fri","Sat","Sun");
 $cn=array("周一", "周五","周六","周日");
 $str=str_replace($en, $cn, $str);
 //echo $str;
 $a[0]='/([^\d]+)\-/';
 $a[1]='/\s(\d)/';
 $b[0]='\1~';
 $b[1]='\1';
 $str=preg_replace($a,$b, $str);
 echo $str;
  相关解决方案