Как перенести набор текста из файла в файл, используя два идентификатора, используя PHP? - PullRequest
0 голосов
/ 15 ноября 2010

Этот код ниже может перенести две переменные из одного файла в другой.

<?php
$file = 'somefile.txt';
// Open the file to get existing content
$current = fopen($file,'a');
// Append a new person to the file
$firstname .= "aiden\n";
$secondname .= "dawn\n";
$currentContent = file_get_contents($file);
// Write the contents back to the file
$fileFound = 'people.txt';
$newFile = fopen($fileFound,'a');
//if $current and $nextcurrent is found in the somefile.txt it will transfer the content to people.txt
if (strpos($currentContent,$firstname) !== 0)
{
if (strpos($currentContent,$secondname) !== 0)
{
    fwrite($newFile, $currentContent."\n");
    } // endif
}// endif
?>

Следующая проблема, как я могу перенести текст с идентификатора один до идентификаторов два?Я думаю, мне придется использовать строку substr или strrpos .Помогите пожалуйста:)

Ответы [ 2 ]

0 голосов
/ 15 ноября 2010

Мне трудно понять проблему, но похоже, что вы пытаетесь включить что-либо между «aiden» и «dawn» из файла и записать результат в новый файл.

Дайте ему шанс

$firstIdentifier = 'aiden';
$secondIdentifier = 'dawn';
$currentContent = str_replace("\n", "", file_get_contents('sourcefile.txt'));
$pattern = '/('.$firstIdentifier.')(.+?)('.$secondIdentifier.')/'; 

//get all text between the two identifiers, and include the identifiers in the match result
preg_match_all($pattern, $currentContent , $matches);

//stick them together with space delimiter
$contentOfNewFile = implode(" ",$matches[0]);

//save to a new file
$newFile = fopen('destinationFile.txt','a');
fwrite($newFile, $contentOfNewFile);
0 голосов
/ 15 ноября 2010
  1. Вам не нужно fopen, когда вы используете file_get_contents
  2. Вместо использования разделителя, я бы предложил вам просто сериализовать ваши переменные

В файле 1:

file_put_contents('somefile.txt',serialize(array($firstname,$lastname)));

В файле 2:

list($firstname,$lastname) = unserialize(file_get_contents('somefile.txt'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...