Как я могу заменить первый CR LF и табуляцию пробелом

введите описание изображения здесьпоэтому у меня есть этот формат текста ниже, и мне нужно заменить первую таблицу CR LF пробелом:

Contenu
2 encarts
12 encarts

Prepresse
Fichier fourni

и я хочу результат:

Contenu 2 encarts
12 encarts

Prepresse Fichier fourni

-1

Решение

Использование регулярных выражений может быть сделано как:

<?php
$text = "Contenu\n\t2 encarts\n\t12 encarts\n\nPrepresse\n\tFichier fourni";
echo $text."\n";
echo preg_replace('/((^.+)(\n\t))/ime', "str_replace('$3', ' ', '$0')", $text);
?>

Выход этого:

Contenu
2 encarts
12 encarts

Prepresse
Fichier fourni
Contenu 2 encarts
12 encarts

Prepresse Fichier fourni
0

Другие решения

Можете ли вы дать больше информации относительно источника этого текста, который вы хотите отформатировать?
это похоже на Contenu а также Prepresse Fichier оба названия для группы

где у вас есть такие предметы, как 2 корпуса , 12 корпусов а также Fourni как предметы в этих группах

Прежде всего, нужно определить, является ли текст именем группы или элемента, я надеюсь, что это может быть обнаружено из источника, откуда приходит ваш текст.
Второе — правильное отображение элементов.

РЕДАКТИРОВАТЬ:

Я много использую массивы, создал ваш вывод, используя этот код:

$text = "Contenu\n\t2 encarts\n\t12 encarts\n\nPrepresse\n\tFichier fourni";

//divide the groups
$groups = explode("\n\n", $text);

//loop groups
foreach ($groups as $group) {

//get group name and items
$items = explode("\n\t", $group);

//loop items,
foreach ($items as $item => $value) {
switch ($item) {
case 0:
//first item is group name
echo $value . " ";
//get the length of this group name to align all items using spaces
$length = strlen($value) + 1;
break;
case 1: //second item is first value, what apears next to the group name
echo $value . "<br>";
break;
default: // other items, where the spaces are the length of the groupname
echo str_repeat("&nbsp;", $length) . $value . "<br>";
break;
}
}

//when an entire group is shown, leave an empty space
echo "<br>";

}

?>

показывает мне это как вывод:

Contenu 2 encarts
12 encarts

Prepresse Fichier fourni

надеюсь это поможет

0

По вопросам рекламы [email protected]