Search code examples
phpfiletextreplace

Replace string in text file using PHP


I need to open a text file and replace a string. I need this

Old String: <span id="$msgid" style="display: block;">
New String: <span id="$msgid" style="display: none;">

This is what I have so far, but I don't see any changes in the text file besides extra white spaces.

$msgid = $_GET['msgid'];

$oldMessage = "";
$deletedFormat = "";

// Read the entire string
$str = implode("\n", file('msghistory.txt'));

$fp = fopen('msghistory.txt', 'w');

// Replace something in the file string - this is a VERY simple example
$str = str_replace("$oldMessage", "$deletedFormat", $str);

fwrite($fp, $str, strlen($str));
fclose($fp);

How can I do it?


Solution

  • Does this work:

    $msgid = $_GET['msgid'];
    
    $oldMessage = '';
    
    $deletedFormat = '';
    
    //read the entire string
    $str=file_get_contents('msghistory.txt');
    
    //replace something in the file string - this is a VERY simple example
    $str=str_replace($oldMessage, $deletedFormat,$str);
    
    //write the entire string
    file_put_contents('msghistory.txt', $str);