Я новичок, и у меня есть текстовый файл. Содержимое текстового файла выглядит следующим образом …
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
Если я правильно понимаю ваш вопрос, вы можете использовать preg_replace
и regex для этого:
$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
DEMO
Я не совсем уверен, что должно быть результатом, но что-то вроде этого должно работать:
$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
То, что сказал Марк Б, будет работать.
$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: добавлено в замещение пробела, чтобы добавить — >>> между значениями.