我有一個文本文件,這樣的事情:查找文本文件中的字符串,並添加了一些該行
abc<\n>
def<\n>
ghi<\n>
我想知道我怎麼能添加一些特定行..輸出會是這樣的:
abc<\n>
def 123<\n>
ghi<\n>
搜索字符串「def」,並添加到該行的東西。 謝謝
我有一個文本文件,這樣的事情:查找文本文件中的字符串,並添加了一些該行
abc<\n>
def<\n>
ghi<\n>
我想知道我怎麼能添加一些特定行..輸出會是這樣的:
abc<\n>
def 123<\n>
ghi<\n>
搜索字符串「def」,並添加到該行的東西。 謝謝
試試這個:
$file_contents = file_get_contents('myfile.txt');
file_put_contents('myfile.txt',
preg_replace("/<\\n>(.+?)<\\n>/", "<\\n>new text<\\n>", $file_contents));
如果你不想被什麼東西很先進,這是一個簡單的解決方案:
的TESTFILE.TXT
abc def ghi
abc defghi
abc def ghi
abc dfghi
abc defdef ghi
來源
PHP代碼
<?php
// Get a file into an array.
$lines = file('testfile.txt');
// Loop through our array, show content and replace whatever is needed.
foreach ($lines as $line) {
$SearchAndReplace=str_replace('def', 'def 123', $line);
echo $SearchAndReplace.'<br />';
}
?>
輸出是:
abc def 123 ghi
abc def 123ghi
abc def 123 ghi
abc dfghi
abc def 123def 123 ghi
您可能想查看PHP文檔中關於file function
<?PHP
function add_to_line($file_src , $search_word , $new_text)
{
$file = file($file_src);
for($i = 0 ; $i < count($file) ; $i++)
{
if(strstr($file[$i] , $search_word))
{
$file[$i] = $file[$i] . $new_text;
break;
}
}
return implode("\n" , $file);
}
echo add_to_line('sample.txt' , 'def' , '123');
?>