데이터 피드를 구문 분석합니다
문제
나는 PHP에서 최고가 아니며 누군가가 도울 수 있다면 매우 감사 할 것입니다. 기본적으로 나는 데이터 피드의 각 라인을 구문 분석하고 각 "|"사이에 각 정보를 가져와야합니다. - 그런 다음 데이터베이스에 추가 할 수 있습니다. Explode를 사용하여 "|"S간에 정보를 얻을 수 있다고 생각하지만 텍스트 파일에서 각 줄을 단수로 구문 분석하는 데 약간의 도움이 필요합니다. 더 간단하게 만들기 위해서는 변수의 각 라인을 사용해야합니다. TextRea와 양식을 사용하여 변수에 컨텐츠를 제출합니다. 모든 도움이 크게 감사드립니다!
해결책
파일을 다양한 라인 배열로 읽고 모든 분할을 수행 할 수 있습니다.
$lines = file("filename");
foreach($lines as $line) {
$parts = explode("|", $line);
// do the database inserts here
}
당신이 말했듯이 (예 : file_get_contents ()와 같은 것들과 함께 모든 텍스트를 변수에 이미 가지고 있다면 먼저 n에서 폭발 한 다음 위와 동일한 foreach 문을 수행 할 수 있습니다.
다른 팁
Textarea 게시물을 읽는 경우 Newline 문자를 분리기로 사용하여 Explode 기능을 사용하여 변수의 각 "선"을 배열의 새로운 요소로 가져 오면 배열 요소를 폭발시킬 수 있습니다.
즉
$sometext = "balh | balh blah| more blah \n extra balh |some blah |this blah";
$lines = explode("\n", $sometext);
foreach($lines as $oneLine)
{
$lineElements[] = explode("|", $oneLine);
}
그런 다음 2D 배열의 Elems가 있습니다.
파일을 읽는 경우 여기에 문서화 된 파일 함수를 사용할 수 있습니다.
http://us2.php.net/manual/en/function.file.php
파일의 각 줄을 배열의 요소로 가져옵니다.
폭발을 사용하여 둘 다 얻을 수 있습니다.
$myFile = "File.txt";
$fh = fopen($myFile, 'r');
$data = fread($fh);
fclose($fh);
$newLines = explode("\n",$data);
foreach($newLines as $s)
{
$parsed = explode("|",$s);
foreach($parsed as $item)
{
// do your db load here
}
}
제휴하지 않습니다 StackOverflow