2014-02-26 201 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读取。

如果您需要进一步改进,请留下评论。