2013-03-22 54 views
1

文字我已經TextFile.txt的替換文本PHP基於從文件

<?php 
$fp = @fopen("textFile.txt", 'r'); 
$array = explode("\n", fread($fp, filesize("textFile.txt"))); 

if (isset($_POST['btcari'])){  
    print_r(str_ireplace($array,"", $_POST['tateks'])); 
} 
?> 

感謝VO烏爾欣賞

回答

0

試試這個:

$array = file("textFile.txt"); 

function _trim(&$value, $key) { 
    $value = trim($value); 
} 

// remove the newlines and extra spacing 
array_walk($array, '_trim'); 

$replaceArray = array_fill(0, count($array), ''); 

if(isset($_POST[ 'btcari' ])) { 
    echo str_replace($array, $replaceArray, $_POST[ 'tateks' ]); 
} 

希望它能幫助。

+0

不錯的答案。謝謝 – user2192076 2013-03-22 10:15:57

+0

@ user2192076如果它對您有幫助,請將其標記爲正確答案。 – 2013-03-22 10:44:51

0

首先閱讀文件並更改其中的文本。然後將新內容寫入文件。

$fp = @fopen("textFile.txt", 'r'); 
$array = explode("\n", fread($fp, filesize("textFile.txt"))); 
fclose($fp); 

foreach($array as $text) { 

$textall .= str_replace("aaa", "", $text); 

} 


$fh = fopen("textFile.txt", "w") or die("Could not open log file."); 
fwrite($fh, $textall) or die("Could not write file!"); 
fclose($fh); 
0

可以使用的preg_replace

$replace = "/".$_POST['tateks']."/"; 
    $array = preg_replace($replace , '' , $array); 
    print_r($array); 
0

你似乎用錯了之後的參數進行替換。我試過這段代碼,如果你使用$ _POST [btcari']而不是$ _POST ['tateks'],它可以正常工作。

<?php 
$fp = @fopen("textFile.txt", 'r'); 
$array = explode("\n", fread($fp, filesize("textFile.txt"))); 

if (isset($_POST['btcari'])){  
    print_r(str_ireplace($array,"", $_POST['btcari'])); 
} 
?> 

現在,如果我發送一個名爲「btcari」的發佈參數,它會正確輸出替換的文本。