我是新手,我有一个文本文件..文本文件的内容如下......
text1 text4 text7
text2 text5 text8
text3 text6 text9
我想要做的是使用--->>>
将此php
字符添加到文本文件的前两个垂直列中的每一行...我该怎么做....任何帮助将不胜感激...提前感谢... :) ..我已经尝试了以下代码...
<?php
$fileContents = file_get_contents('mytext.txt');
$fixedFileContents = "--->>>";
file_put_contents($fixedFileContents, 'mytext.txt');
?>
输出应该类似于
--->>>text1 --->>>text4 text7
--->>>text2 --->>>text5 text8
--->>>text3 --->>>text6 text9
答案 0 :(得分:2)
我不完全确定输出应该是什么,但这样的事情应该有效:
$lines = file('mytext.txt');
$new = '';
if (is_array($lines)) {
foreach($lines as $line) {
$new .= "--->>>" . $line;
}
}
file_put_contents('mytext.txt', $new);
应该给你:
--->>>text1 text4 text7
--->>>text2 text5 text8
--->>>text3 text6 text9
答案 1 :(得分:1)
如果我正确理解您的问题,您可以使用preg_replace
和正则表达式:
$fileContents = preg_replace('/^(\w+\s+)(\w+\s+)/m', '--->>>$1--->>>$2', $fileContents);
示例强>:
<?php
$fileContents = <<<TEXT
text1 text4 text7
text2 text5 text8
text3 text6 text9
TEXT;
$fileContents = preg_replace('/^(\w+\s+)(\w+\s+)/m', '--->>>$1--->>>$2', $fileContents);
echo $fileContents;
?>
<强>输出强>:
--->>>text1 --->>>text4 text7
--->>>text2 --->>>text5 text8
--->>>text3 --->>>text6 text9
答案 2 :(得分:1)
Marc B所说的会起作用。
$file = file('file.txt');
$contents = null;
foreach($file as $line) {
$line = preg_replace('/\s+/', ' --->>> ', $line);
$contents .= '--->>> ' . $line . "\r\n";
}
file_put_contents('file.txt', $contents);
如果您知道空格,制表符或空格的确切数量,也可以使用str_replace删除空格。
这应输出类似于以下内容的内容:
--->>> test1 --->>> test4 --->>> test7
--->>> test2 --->>> test5 --->>> test8
编辑:哎呀,刚注意到我刚发布的确切内容!哈! 编辑2:添加替换空格以添加---&gt;&gt;&gt;值之间。