c# Редактировать текст в php файле - PullRequest
1 голос
/ 30 марта 2020

У меня есть php файл, заполненный переменными, переменная выглядит так:

$lang['ClientMain.!success.client_updated'] = 'Your account information has been successfully updated.';

Теперь я хотел бы использовать API Google для перевода этого текста на другой язык, я знаю, как Чтобы использовать Google API, проблема в том, что я не знаю, как получить «Информация о вашем аккаунте была успешно обновлена». и замените его переведенной строкой.

Я нашел много примеров того, как открыть файл и заменить текст, но мне нужно выбрать строку, перевести ее и заменить ее, я не хочу изменить имя переменной и положение строки.

Я надеюсь, что кто-то здесь может мне помочь.

С уважением, Пит

1 Ответ

0 голосов
/ 30 марта 2020

Вы должны создать новый выходной файл, когда все ваши операции закончены. Пример работает нормально:

public static void ReplaceTextByKeyword(string inputPath, string outputPath, string keyword, string replaceText)
    {
        string line;
        string searchText = string.Empty;

        System.IO.StreamReader file = new System.IO.StreamReader(inputPath);

        while ((line = file.ReadLine()) != null)
        {
            if (line.Contains(keyword))
            {
                searchText = line.Split(new string[] { "=" }, StringSplitOptions.None)[1]
                    .Split(';')[0]
                    .Replace("'", "")
                    .Trim();
                break;
            }
        }

        file.Close();


        var reader = new System.IO.StreamReader(inputPath);
        string content = reader.ReadToEnd();
        reader.Close();

        content = System.Text.RegularExpressions.Regex.Replace(content, searchText, replaceText);

        StreamWriter writer = new StreamWriter(outputPath);
        writer.Write(content);
        writer.Close();
    }

Вы можете использовать это как:

ReplaceTextByKeyword(@"c:\test\input.txt", @"c:\test\output.txt", "ClientMain.!success.client_updated", "replaceText");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...