这样的正规表达式怎么写?
Mon-Fri8:00-23:00;Sat10:00-23:00;Sun10:00-22:00;
把上面变成周一~周五8:00-23:00;周六10:00-23:00;周日10:00-22:00;
$str="Mon-Fri8:00-23:00;Sat10:00-23:00;Sun10:00-22:00;"
$en=array("Mon","Fri","Sat","Sun");
$cn=array("周一","周五","周六","周日");
$str=str_replace($en,$cn,$str);
请问如何把英文之间的"-"变成~,时间中间的不替换?
英文和数字间的空格如何替换?
------解决方案--------------------
$str="Mon-Fri8:00-23:00;Sat10:00-23:00;Sun10: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;