我想将一个字符串的 " 字符换成中文状态下的 “ ”,如何实现呀。是成对的替换,还不知道那个字符串有会有几个 " 字符。谢谢了!!!
---------------------------------------------------------------
$str='a"b"c"d"e"f"g';
echo preg_replace('/"([^"]+)"/U',"“\\1”",$str);
---------------------------------------------------------------
发现秋水得bug,如果两个""在一起就不行了
try:
$str=""adsfaadsfadsf"adfadsfasdfasfd"""adsfasfdafds"afds"sdf"";
用上面的函数就不会
秋水得正则表达式用的太棒,但是我写的不能白写了,还是帖出来算了
function replaceQuot($str){
$m=1;
for($n=0;$n<strlen($str);$n++){
if(substr($str,$n,1)=="""){
if($m==0){
$m=1;
$str=substr($str,0,$n)."“".substr($str,$n+1);
}else{
$str=substr($str,0,$n)."”".substr($str,$n+1);
$m=0;
}
}
}
return $str;
}