Манипулирование строками в PHP

1

У меня есть эта переменная, содержащая строку. Например:

    $message    =   
    'Dear User1,

    Your record submitted has been disapproved by User.

    Remarks: 

    Document No.: 
    Record Title: Test1
    Record URL: http://myapp.dev/records?id=1

    Sincerely,

    Admin

    Dear User1,

    Your record submitted has been disapproved by User.

    Remarks: 

    Document No.: 
    Record Title: Test2
    Record URL: http://myapp.dev/records?id=2

    Sincerely,

    Admin';

Что я буду делать, чтобы получить такой результат?

    Dear User1,

    Your record submitted has been disapproved by User.

    Remarks: 

    Document No.: 
    Record Title: Test1
    Record URL: http://myapp.dev/records?id=1
    Record Title: Test2
    Record URL: http://myapp.dev/records?id=2

    Sincerely,

    Admin

Я думаю, что могу манипулировать строкой, используя preg_split(); ?

Пожалуйста, укажите то, что я пропустил, или вы хотите знать. Любая идея была бы действительно оценена!

  • 0
    Покажите нам, что вы пытались.
  • 0
    используйте HTML для этого типа вывода.
Показать ещё 2 комментария
Теги:

4 ответа

1
Лучший ответ

лучше поздно, чем ничего. Попробуйте эту функцию

function manipulate($text){
    $texts = preg_split("/(Remarks:|Sincerely,|Document No.:)/",$text,-1, PREG_SPLIT_DELIM_CAPTURE);
    $str = $texts[0];
    $str .= "Remarks: \n\nDocument No.:";
    for($x=0;$x<count($texts);$x++){
        if($texts[$x]=='Document No.:'){
            $str .= trim($texts[($x+1)],"\r\n");
        }   
    }
    $str.= "\n\nSincerely,\n\nAdmin";
    return $str;
}

если вы используете этот как html, используйте nl2br() как

nl2br(manipulate($message)); //where $message is your "Dear User1,...."
  • 1
    высоко ценится человек! это потрясающе, мне действительно нужно улучшить, хотя.
2

используйте nl2br() для получения желаемого результата.

echo nl2br($message);

Вывод

Dear User1,

Your record submitted has been disapproved by User.

Remarks: 

Document No.: 
Record Title: Test1
Record URL: http://myapp.dev/records?id=1

Sincerely,

Admin

Dear User1,

Your record submitted has been disapproved by User.

Remarks: 

Document No.: 
Record Title: Test2
Record URL: http://myapp.dev/records?id=2

Sincerely,

Admin

См. Демонстрацию

  • 0
    Есть больше функций, которые я сейчас открываю! Очень признателен!
  • 0
    это немного другой вывод на ожидаемый вывод ОП
Показать ещё 2 комментария
0

Я думаю, вы можете использовать что-то вроде этого, альтернативу heredoc.

Здесь вы можете найти библиотеку. https://gist.github.com/fcamp/c4cb828cfb22bbe845cb

0

Я думаю, что вам нужно отобразить на html-странице. Попробовали с nl2br()?

Я думаю, что лучше использовать синтаксис heredoc, например:

$message = <<< EOT_MSG
    'Dear User1,
     ...
     ....
EOT_MSG;
  • 0
    nl2br () - новинка для меня, я посмотрю на эту функцию.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню