2012-02-07 6 views
1

私はいくつかの文字列を抜き出す必要があるフォームを持っています。このフォームは、データセットを分割するために長い破線を使用します。PHP文字列関数で "-----"を使う方法は?

strpos($string, "----") 

$file2= explode("-----", $file1) 

が、彼らは仕事していないようです:使用する便利だろう。私は " - "を "。"に置き換えました。必要なデータを正常に抽出するために上記の "....."を使用しましたが、抽出されたデータで2歳のようなダッシュを削除しました。だから私は上記のコード行で "----"を使いたいと思っています。

また、 " - "を " - "に置き換えようとしましたが、次のいずれも機能しません。

$string = str_ireplace("--", "..",$string); 

いずれかの提案があります。おかげさまで

これを行う方法はありますか?

+4

"_doesn't work_"の意味とその決定方法を明示的に定義してください。 – Tadeck

+0

最後の例で 'ireplace'を使っているのはなぜですか? – PeeHaa

+0

プログラムは "...."を使用して、必要なデータビットを見つけるために文字列を爆発させて検索します。唯一の問題は、抽出されたデータ内のダッシュも "。"に変換されていることです。 2歳のような言葉で。 – user1028866

答えて

2

これは完全に正常に動作します。

<?php 

    $test = 'name----address----2-year-old----dob'; 

    $test_chunks = explode("----", $test); 

    echo $test_chunks[2]; 

    ?> 

問題なしの「2歳」を表示します。ダッシュを別のものに変換する必要がある場合は、これも試してください。

test_convert = str_replace("----", "....", $test); 

...その後、ピリオドを使用して分解してください。

+0

これが私のやり方です。私はちょうど複合語の一部である破線を失わないことを好むだろう。だから私のファイル内の文字列があなたの最初の例のように動作しない理由を理解する必要がありますか? – user1028866

+0

私が言ったように、あなたはダッシュを使用し続けることができますが、私は上記のコードをテストし、それは正常に動作します。それをコピーして貼り付け、それがあなたのために働くかどうか確認してください(そうすべきです)。今でも問題がある場合は、str_replaceを試して文字列を爆発させてください(文字列データを取得した後に1行追加するだけです)。しかし、私が言ったように、すべて。がんばろう! – scottcarmich

+0

Scottに感謝します。私はこれが明らかであることを知っている。それは私のデータ文字列で動作していません。なぜ私は理解できません。アドバイスありがとうございます。私は何がうまくいくと思ったかを検証した宜しくお願いします – user1028866

関連する問題