2014-02-26 250 views
0
$word = file_get_contents('http://www.pixelmon-server-list.com/list.txt'); 
$content = file_get_contents('http://www.pixelmon-server-list.com/fleetyfleet.txt'); 
$found_dimensions = array(); // our array 
$word_array = explode(' ', $word); // explode the list 
foreach($word_array as $one_word) { // loop over it 
    $str = 'DimensionName'.$one_word; // what are we looking for? 
    if(strstr($content, $str) !== false) { // look for it! 
     echo $one_word; // Just for demonstration purposes 
     $found_dimensions[] = $one_word; // add to the array 
    } 
} 

好吧,我有一個list.text和fleetyfleet.txt 都可以在這裏看到我沒有張貼他們着想空間 http://pastebin.com/7hWDUG1b ,但我想要做的是找到的話在list.txt中,但只有將它們添加到數組如果有前綴是Dimension Name 但特殊字符使它有點艱難我不知道我該怎麼辦PHP正則表達式特殊字符

+0

特殊字符不顯示在問題中。你需要完全匹配它們,還是'DimensionName。{5} Name.'足夠接近匹配? – Floris

+0

我認爲這將工作我將如何實施它 – user3272479

+0

我無法查看文件(防火牆問題)。你可以發表幾行文字,並顯示你想要的輸出數組的樣子?使用'Dimension %%%%% Name%'來表示「奇怪的字符」。你知道如何使用'preg_match'嗎?這可能是你需要的...... – Floris

回答

1

我有一個類似的問題,我在哪裏需要從文件中刪除所有非ASCII字符。下面是我用正則表達式:

s/[^\x00-\x7F]//g 

如果你是在Linux上,這裏有一個快速班輪:

perl -p -i -e "s/[^\x00-\x7F]//g" list.txt 
0

有猜測一點點,因爲我不能從後面看文件我的防火牆。下面的代碼可以幫助你:

<?php 
$f1 = explode("\n",file_get_contents("./file1.txt")); 
$f2 = file_get_contents("./file2.txt"); 
$found = array(); 
foreach($f1 as $x) { 
    $str = "/DimensionName.....$x./"; 
    if (strlen($x)>0) { 
    if (preg_match($str, $f2, $matches)) { 
     echo $matches[0]."\n"; 
    } 
    } 
} 
?> 

此打印出線路,其中包括後跟5「什麼」的模式DimensionName其次是任何字由第一個文件file1.txt讀取。

如果您需要進一步改進,請留下評論。