-2

私のプログラムの目的: 大きな文字列を文字列の配列に分割します。それぞれの文字列には、部分文字列「ゾーン」と、この同じ部分文字列の次の出現の間のテキストのセグメントが含まれます。

私が試したこと:

#Get file into a string
$filecont=file_get_contents($filename);
#Count all occurences of the substring, and get the positions of the substring into the array $arr
$arr=strallpos($filecont,"zone",0);
#The function strallpos does its job. The array $arr is now:
#Array ( [0] => 70 [1] => 148 [2] => 197 [3] => 316 [4] => 500 [5] => 637 [6] => 709 [7] => 748 [8] => 867 [9] => 878 [10] => 940 [11] => 990 [12] => 1154 [13] => 1321 [14] => 1440 [15] => 1561 [16] => 1684 [17] => 1695 [18] => 1759 [19] => 1811 [20] => 1926 [21] => 2045 [22] => 2168 [23] => 2285 )
#Find and return the substring
for ($i=0;($i+1)<=count($arr);$i++)
{       
    #Line 53 follows
    print (substr ($filecont,$arr($i),($arr($i+1)-$arr($i))));      
}

私が得るエラーは次のとおりです。Fatal error: Function name must be a string in C:\wamp\www\dns.php on line 53

私は何を間違っていますか?エラーコードのヒントが欲しいです。

4

1 に答える 1

2

解決策は、次のように爆発を使用する必要があるようです。

$zones = explode("zone", $filecont);

これにより、「zone」という単語の間にあるすべての文字列を含む配列が $zones に格納されます。それがうまくいったかどうか試してみてください:)

于 2013-07-17T09:21:01.857 に答える