Заполните заполнитель RTF строкой php, содержащей разрывы строк и табуляции

У меня есть функция на моем php-сайте, которая заполняет шаблоны rtf данными клиентов. Он заменяет заполнители, похожие на этот %% PLACEHOLDER %%. Теперь я хочу заменить заполнитель строкой, в которой есть вкладки и разрывы строк. Я не могу понять, как это сделать. Я прочитал сообщение это, но ответ у меня не работает. В конечном файле он просто отображает {\ pard \ par} в виде обычного текста.

Заменить функцию:

function populate_RTF($vars, $doc_file)
{

 $replacements = array ('\\' => "\\\\",
                       '{'  => "\{",
                       '}'  => "\}");

$document = file_get_contents($doc_file);
if (!$document) {
    return false;
}

foreach($vars as $key=>$value) {
    $search = "%%".strtoupper($key)."%%";

    foreach($replacements as $orig => $replace) {
        $value = str_replace($orig, $replace, $value);
    }

    $document = str_replace($search, $value, $document);
}

return $document;
}

Файл, в котором я использую функцию:

function MakeString()
{
    foreach(/*for each here*/)
    {
        $string = $name. "\tab" . $gpu . "\tab" . $cpu . "{\pard\par}";
        $string .= $name. "\tab" . $gpu . "\tab" . $cpu . "{\pard\par}";
        $string .= $name. "\tab" . $gpu . "\tab" . $cpu . "{\pard\par}";
    }
    return $string;
}


$vars = array
(
    'name' =>                    $info['name'],
    'address' =>                 $info['address'],
    'phone' =>                   $info['phone'],
    'string-here' =>             MakeString(),
);


$new_rtf = populate_RTF($vars, $template);
$fr = fopen($saveLocation.$filename, 'w') ;
fwrite($fr, $new_rtf);
fclose($fr);

RTF вывод сейчас:
Джон \ tabAsus GTX 1060 \ tabIntel I7 {\ pard \ par} Майк \ tabAsus GTX 1080 \ tabAMD FX 8120 {\ pard \ par}

Выход RTF должен быть:
John        Asus GTX 1060        Intel I7
Майк        Asus GTX 1080        AMD FX 8120

Кто-нибудь, кто может мне в этом помочь?

Вы пробовали использовать только \ t вместо \ tab, а что такое \ pard? И они должны быть внутри "(двойные кавычки), чтобы работать.

Igor Ilic 18.05.2018 15:36

@IgorIlic Спасибо за ответ! \ t сработало для вкладок, большое вам спасибо! pard вещь была тем ответом, о котором я связал. Вы также знаете, как добавить разрыв строки? \ n не сработало

Bas Peters 18.05.2018 16:06

Можете ли вы попробовать \ r \ n или <br/> для разрыва строки?

Igor Ilic 18.05.2018 16:46
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
267
0

Другие вопросы по теме