2012-02-07 3 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-year-old"를 표시합니다.

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

을 ... 그리고 기간을 사용하여 폭발 : 당신이 뭔가 다른 대시를 변환해야하는 경우뿐만 아니라 이것을 시도.

+0

그게 내가 해왔 던 방법이야. 나는 단지 복합어의 일부인 파선을 잃지 않기를 바랄뿐입니다. 그래서 내 파일의 문자열이 첫 번째 예제처럼 작동하지 않는 이유를 알아야합니까? – user1028866

+0

내가 말했듯이, 당신은 대시를 계속 사용할 수 있지만 위의 코드를 테스트하고 잘 작동합니다. 복사/붙여 넣기를하고 잘 작동하는지 확인하십시오.이제 문제가 계속되는 경우 str_replace를 사용하여 마침표를 사용하여 문자열을 폭발시킵니다 (문자열 데이터를 얻은 후 코드 한 줄 추가) ...하지만 제가 말했듯이, 그렇게하지 않아도됩니다. 모든. 행운을 빕니다! – scottcarmich

+0

감사합니다. 나는 이것이 명백하게 보인다는 것을 안다. 그것은 단지 내 데이터 문자열에서 작동하지 않습니다. 나는 이유를 알 수 없다. 조언 해 주셔서 감사합니다. 내가해야 할 일이 무엇인지 확인했다. 친애하는 – user1028866

관련 문제