как избавиться от строки 'ERROR -' и убрать первую стрелку '->'? - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть log.php, я хочу substr функция file_get_contents("application\logs\log.php");,

файл журнала содержит:

ERROR - 2018-09-17 06:51:03 --> Severity: Warning --> Illegal string offset 'Catatan' /var/www/html/minilos/application/views/minilos/form_akkk.php 483
ERROR - 2018-09-17 06:51:03 --> Severity: Warning --> Illegal string offset 'Catatan' /var/www/html/minilos/application/views/minilos/form_akkk.php 483
ERROR - 2018-09-17 06:51:03 --> Severity: Warning --> Illegal string offset 'Rekomendasi' /var/www/html/minilos/application/views/minilos/form_akkk.php 502
ERROR - 2018-09-17 06:51:03 --> Severity: Warning --> Illegal string offset 'Rekomendasi' /var/www/html/minilos/application/views/minilos/form_akkk.php 502
ERROR - 2018-09-17 06:51:03 --> Severity: Warning --> Illegal string offset 'name' /var/www/html/minilos/application/views/minilos/form_akkk.php 507
ERROR - 2018-09-17 06:51:03 --> Severity: Warning --> Illegal string offset 'name' /var/www/html/minilos/application/views/minilos/form_akkk.php 507

как избавиться от 'ERROR -'зачеркните строку и уберите первую стрелку '->', чтобы она была

2018-09-17 06:51:03 Severity: Warning --> Illegal string offset 'Catatan' /var/www/html/minilos/application/views/minilos/form_akkk.php 483

1 Ответ

0 голосов
/ 19 сентября 2018

Вы можете использовать preg_replace, чтобы обеспечить максимальную гибкость:

$err = "ERROR - 2018-09-17 06:51:03 --> Severity: Warning --> Illegal string offset 'Catatan' /var/www/html/minilos/application/views/minilos/form_akkk.php 483
ERROR - 2018-09-17 06:51:03 --> Severity: Warning --> Illegal string offset 'Catatan' /var/www/html/minilos/application/views/minilos/form_akkk.php 483
ERROR - 2018-09-17 06:51:03 --> Severity: Warning --> Illegal string offset 'Rekomendasi' /var/www/html/minilos/application/views/minilos/form_akkk.php 502
ERROR - 2018-09-17 06:51:03 --> Severity: Warning --> Illegal string offset 'Rekomendasi' /var/www/html/minilos/application/views/minilos/form_akkk.php 502
ERROR - 2018-09-17 06:51:03 --> Severity: Warning --> Illegal string offset 'name' /var/www/html/minilos/application/views/minilos/form_akkk.php 507
ERROR - 2018-09-17 06:51:03 --> Severity: Warning --> Illegal string offset 'name' /var/www/html/minilos/application/views/minilos/form_akkk.php 507";
echo preg_replace(array('/(^|\R)ERROR\s*-\s*/', '/(^|\R)(.*?)\s*-->\s*/'), array('$1', '$1$2 '), $err);

Вывод:

2018-09-17 06:51:03 Severity: Warning --> Illegal string offset 'Catatan' /var/www/html/minilos/application/views/minilos/form_akkk.php 483
2018-09-17 06:51:03 Severity: Warning --> Illegal string offset 'Catatan' /var/www/html/minilos/application/views/minilos/form_akkk.php 483
2018-09-17 06:51:03 Severity: Warning --> Illegal string offset 'Rekomendasi' /var/www/html/minilos/application/views/minilos/form_akkk.php 502
2018-09-17 06:51:03 Severity: Warning --> Illegal string offset 'Rekomendasi' /var/www/html/minilos/application/views/minilos/form_akkk.php 502
2018-09-17 06:51:03 Severity: Warning --> Illegal string offset 'name' /var/www/html/minilos/application/views/minilos/form_akkk.php 507
2018-09-17 06:51:03 Severity: Warning --> Illegal string offset 'name' /var/www/html/minilos/application/views/minilos/form_akkk.php 507

Вызов preg_replace имеет два сопоставляемых шаблона:'/(^|\R)ERROR\s*-\s*/' and '/(^|\R)(.*?)\s*-->\s*/' и '$1' and '$1$2 ' - соответствующие строки замены.Внутри этих строк выражение $1 относится к первой сопоставленной группе в шаблоне (в обоих случаях это (^|\R), которая соответствует либо началу строки, либо новой строке).Во второй замене $2 используется для вывода всех символов от начала строки до первого -->, т.е. символов, захваченных второй группой (.*?).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...