0

爆発を使用してテキストを配列に分割しようとしていますが、テキストが投稿されたフォームからのものである場合、何らかの理由で機能しません。

実行するexplode('|§|', 'qwe|§|asd|§|zxc');と、次のような配列が得られます。

Array  
(  
    [0] => qwe  
    [1] => asd  
    [2] => zxc  
)  

しかし

この入力テキストがフォームからのものである場合、次のように定義します。

<form method="post">
Input: <input type="text" name="query" size="50" value="qwe|§|asd|§|zxc"><input type="submit" value="Parse">
</form>

次の配列を取得しています:

Array  
(  
    [0] => qwe|§|asd|§|zxc  
)  

これは iso 設定と関係があり、「クエリ」フィールドのテキストが何らかの方法で変更されていると推測していますが、修正方法がわかりません。<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" />設定やその他の文字セットを試しましたが、役に立ちませんでした。

何か案は?前もって感謝します。

4

2 に答える 2

4

アイデア: § 記号はおそらく URL 形式に変換されます。最初に文字列に対して urldecode() を試してください。

于 2010-09-30T20:41:31.463 に答える
0

私はおそらくこれを誤解してい§ますが、PHP がまだサポートしていない Unicode 文字である可能性があります。したがって、フォームからスクリプトに転送するときに問題が発生する場合があります。

もっと何かに変えてみましたか...普通ですか?qwe|~|asd|~|zxc代わりにそうした場合、またはqwe|+~+|asd|+~+|zxc誰かが何を入力するか心配している場合のように

于 2010-09-30T20:43:39.867 に答える