質問
いただきました、試験地の私のwebアプリケーションも、その後のアップロードをサーバアプリケーションの動作とは異なります。使う機能formatiraj_string_url変換diacritic記号とクリーン。現地での動作がサーバー機能のだが、変換し、同様に進めていく考えです。
数日前にいたしましこの第三のサーバーで現代美術館などがあります。今、webアップロードを試して再びこの第三のサーバーなんだろんの原因なのでしょうか?
function formatiraj_string_url($string)
{
$string = strtolower($string);
$znak[0] = ' ';
$znak[1] = 'Š';
$znak[2] = 'š';
$znak[3] = 'Đ';
$znak[4] = 'đ';
$znak[5] = 'Č';
$znak[6] = 'č';
$znak[7] = 'Ć';
$znak[8] = 'ć';
$znak[9] = 'Ž';
$znak[10] = 'ž';
$znak[11] = 'Š';
$znak[12] = 'Đ';
$znak[13] = 'Č';
$znak[14] = 'Ć';
$znak[15] = 'Ž';
$znak[16] = 'š';
$znak[17] = 'đ';
$znak[18] = 'č';
$znak[19] = 'ć';
$znak[20] = 'ž';
$znak[21] = 'Š'; // Š
$znak[22] = 'š'; // š
$zamjena[0] = '-';
$zamjena[1] = 's';
$zamjena[2] = 's';
$zamjena[3] = 'd';
$zamjena[4] = 'd';
$zamjena[5] = 'c';
$zamjena[6] = 'c';
$zamjena[7] = 'c';
$zamjena[8] = 'c';
$zamjena[9] = 'z';
$zamjena[10] = 'z';
$zamjena[11] = 's';
$zamjena[12] = 'd';
$zamjena[13] = 'c';
$zamjena[14] = 'c';
$zamjena[15] = 'z';
$zamjena[16] = 's';
$zamjena[17] = 'd';
$zamjena[18] = 'c';
$zamjena[19] = 'c';
$zamjena[20] = 'z';
$zamjena[21] = 's';
$zamjena[22] = 's';
$string = str_replace($znak, $zamjena, $string);
$new_string = preg_replace("/[^a-zA-Z0-9-s]/", "", $string);
return $new_string;
}
編集:前str_replace、この機能を使用preg_replace.サーバのエラーを示した:
Warning: preg_replace() [function.preg-replace]: Compilation failed: nothing to repeat at offset 0 in /home2/sinjcom/public_html/sinj.com.hr/administracija/include/funkcije.php on line 200
が、私にはこの問題
解決
どの文字セットファイルがで書かれていますか?
あなたは文字列として、あなたのコードに直接交換したい文字を記載しておりますので、、それらはファイルが使用するどのような文字セットでエンコードされています。その文字セットを使用すると、ブラウザから得るものと異なる場合は、お使いの機能が動作するつもりはありません。
あなたが心に留めておく必要がある重要な点は、常にあなたの文字列がでエンコードされた文字セットを追跡し、変換することであるときneccessaryます。
他のヒント
をお勧めします。依存性の高い試験-コードではないかと思います。私はこれら全ての機能とUTF-8の入出力7ビットASCII:
remove_accents()
からWordpress- Drupalの タスセリの益々の飛躍が期待され モジュールが必要だとどうなるんでしょうかをuntieからDrupal)
utf8_to_ascii()
からの由緒ある PHP UTF8 プロジェクトfriendly_url()
によるJakub VránaDoctrine_Inflector::urlize()
slugify()
底堅いと考えられ
所属していません StackOverflow