1

私はtextfile.txtを持っています:

aaa
bbb
...
zzz

textfile.txtからテキストに基づいていくつかのテキストを削除したい

ex: we have aaa files ==> we have files

私のコードはまだ機能しません:

<?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']));
}
?>

感謝します

4

4 に答える 4

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);
于 2013-03-22T09:57:53.253 に答える
0

preg_replaceを使用できます

    $replace = "/".$_POST['tateks']."/";
    $array = preg_replace($replace , '' , $array);
    print_r($array);
于 2013-03-22T10:00:07.467 に答える
0

置換に間違ったpostパラメータを使用しているようです。コードを試しましたが、$ _POST['tateks']の代わりに$_POST[btcari']を使用すると、正常に機能します。

<?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」という名前の投稿パラメーターを送信すると、置き換えられたテキストが正しく出力されます。

于 2013-03-22T10:01:14.243 に答える
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' ] );
}

それが役に立てば幸い。

于 2013-03-22T10:03:29.050 に答える