PHP v5.2.17 - > v5.3.5からアップグレードしたときに次のコードが壊れていて、何がわからないのですか?誰かが何が間違っている可能性についての手がかりを持っていますか?ありがとう。PHPの後のバージョンを使用するとコードが壊れる
<?php
setlocale(LC_ALL, 'en_US.UTF8');
$goto = $_POST['location'];
function toAscii($str, $replace=array(), $delimiter='-') {
if(!empty($replace)) {
$str = str_replace((array)$replace, ' ', $str);
}
$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
$clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
$clean = strtolower(trim($clean, '-'));
$clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean);
return $clean;
}
?>
は、あらゆる種類のエラーはありませんし、私は私のCMSのログ上で見て、珍しいものは何もありません。私はセットアップに簡単なテストを行なったし、ここに何が起こるかです:
<?php
$goto = $_POST['location'];
function toAscii($str, $replace=array(), $delimiter='-') {
if(!empty($replace)) {
$str = str_replace((array) $replace, ' ', $str);
}
$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
$clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
$clean = strtolower(trim($clean, '-'));
$clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean);
return $clean;
}
?>
出力は次のとおりです。<?echo toAscii($goto);?>
出力は次のとおりです。<?echo $goto;?>
I出力生フォームデータ、それは素晴らしい作品とするとき、私は、出力toAscii($goto)
データを何も返しません。
メッセージは何のエラーあなたは? – Swift
便利なエラーメッセージが表示されますか?スタックトレース? – NullRef
また興味深いことに、私はこの正確なコードを自分のPHP 5.3アプリケーションで使用しています。それはうまく動作します。おそらくiconv拡張がインストールされていないでしょうか? – Swift