2012-02-07 34 views
1

我有一個表單,我必須從中抽出一些字符串。表單使用長虛線劃分數據集。這將是得心應手:如何在php字符串函數中使用「-----」?

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

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

,但他們似乎並不管用。我用「」替換了「 - 」。並在上面使用「.....」成功地提取了所需的數據,但它在提取的數據中刪除了想要的破折號,例如2歲。所以我回到了想在上面的代碼行中使用「----」。

我也嘗試將「 - 」替換爲「..」,但以下內容也不起作用。

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

任何意見,將不勝感激。 謝謝。

有沒有辦法讓這項工作?

+4

請明確定義「_doesn't work_」的含義以及您如何確定? – Tadeck 2012-02-07 18:07:47

+0

爲什麼你在最後一個例子中使用'ireplace'? – PeeHaa 2012-02-07 18:09:39

+0

程序使用「....」來爆炸並搜索字符串以找到我需要的數據位。唯一的問題是提取的數據中的任何破折號也被轉換爲「。」。像2歲的短語。 – user1028866 2012-02-07 18:11:15

回答

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 2012-02-07 18:23:15

+0

正如我所說,你可以繼續使用破折號,但我測試了上面的代碼,它工作正常。複製/粘貼它,看看它是否也適用於你(它應該)。現在,如果你仍然有問題,請嘗試str_replace並使用句點來分解字符串(在獲得字符串數據後,只需一行額外的代碼)......但正如我所說的,你真的不應該那樣做所有。祝你好運! – scottcarmich 2012-02-07 18:28:36

+0

謝謝斯科特。我知道這似乎很明顯。它只是不工作我的數據字符串。我無法弄清楚爲什麼。謝謝你的建議。它證實了我認爲應該工作。最好的祝福 – user1028866 2012-02-07 18:33:50

相關問題