I have the following Powershell script:
$oldCode = @"
<div id="time_estimate">
<!-- some large table -->
</div>
"@
$newCode = @"
<div id="time_estimate">
<!-- nested divs and spans -->
<div id="contact-form">
<?php include "contact-form.php"; ?>
</div>
</div>
"@
ls *.html | foreach {
$fileContent = [System.Io.File]::ReadAllText($_.FullName)
$newFileContent = $fileContent.Replace($oldCode, $newCode)
[System.Io.File]::WriteAllText($_.FullName, $newFileContent)
Write-Host "`r`n"
Write-Host "Processed - $($_.Name)...`r`n" }
This doesn't seem to be replacing the text. Is it an issue with the multiline strings, or the limits of the Replace() method? I would prefer to do the replace without bringing in regex.