Всем привет! сейчас такое
$n = 21;
$a = strlen($yaml);
$String = substr($yaml , $n , $a);
обрезается часть строки с датой (21 символ) строка:
date: "26-06-19 9:52"
taxonomy:
category: blog
tag:
- publ
- vip
проблема в том что в некотое время суток становится 22 символа (date: "26-06-19 10:52"), довавить пробол нельзя - т.к. потом на место даты записывается другая дата, которая может быть 21 или 22 символа (все уплывет) как правильно обрезать строку?
как правильно обрезать строку?
Вариантов может быть несколько, например один из них - получать необходимую подстроку с помощью регулярных выражений:
$string = 'date: "26-06-19 19:52"
taxonomy:
category: blog
tag:
- publ
- vip';
echo preg_replace('~date:[\s:\d"-]+\s~', '', $string);
Результат:
taxonomy:
category: blog
tag:
- publ
- vip
Обратите внимание, что за задачей обрезать строку вероятно скрывается более точная задача: убрать свойство date из данных сериализованных в yaml. Это значит, что то, что вы собираетесь делать, называется парсингом. Вы можете написать свой парсер или использовать готовые решения (например yaml_parse или symfony/yaml).
Если же вы хотите просто отбросить первую строку то обрезайте с первого переноса строки:
$str = 'date: "26-06-19 9:52"
taxonomy:
category: blog
tag:
- publ
- vip';
echo substr($str, strpos($str, "\n"));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты