【PHP】下らねぇ質問はここに書き込みやがれ 61
■ このスレッドは過去ログ倉庫に格納されています
0448nobodyさん
2008/01/31(木) 17:20:24ID:Zzvt9fFUtestesc の $char に\に続く一文字だけ該当するように想定していますが
何故か \"のときだけ " ではなく \" 2文字が引数に渡されてしまいます。
これはどこに問題があるのか教えてください。
<?php
$in = '\\\\abc\tdef\\"';
$out = preg_replace('/\\\\(.)/e', "testesc('$1')", $in);
echo 'input [' . $in ."]\n";
echo 'output [' . $out ."]\n";
function testesc($char){
if($char=='"'){
return '"';
}elseif($char=='\\"'){
return '?';
}elseif($char=='\\'){
return '\\';
}elseif($char=='t'){
return "\t";
}else{
return '';
}
}
?>
実行結果
input [\\abc\tdef\"]
output [\abc def?]
■ このスレッドは過去ログ倉庫に格納されています