parschakov
@parschakov
Начинающий изучать PHP и JS

Как обработать такую строку и записать данные в переменную?

Здравствуйте! Помогите пожалуйста, можно ли вообще такое осуществить?
К примеру есть переменная, в ней находится текст:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin augue rutrum metus molestie laoreet. Praesent vulputate at erat quis tincidunt. Vivamus pretium diam sed euismod tempor.
[marker]
Quisque pretium efficitur purus, interdum pulvinar nunc viverra ac. Vestibulum sit amet lobortis ligula. Nulla a nunc eu risus faucibus auctor non at leo. Mauris fermentum, turpis eu feugiat semper, nulla turpis venenatis dui, at condimentum sapien ligula eget ante. Donec vulputate tristique rhoncus. Sed et volutpat elit, ut sollicitudin nibh.


Интересует 2 вопроса:
1. Как вырезать текст до метки [marker] и записать его в переменную?
2. Как найти метку [marker] и вырезать ее, записав текст в переменную, без этой метки [marker]?

Заранее спасибо за помощь и внимание!
  • Вопрос задан
  • 73 просмотра
Решения вопроса 2
Stimulate
@Stimulate
могу
//1
$array = explode('[marker]', $var);
echo $array[0];
//2
$var = str_replace('[marker]', '', $var);
echo $var;
Ответ написан
lidacriss
@lidacriss
wtf
$str = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin augue rutrum metus molestie laoreet. Praesent vulputate at erat quis tincidunt. Vivamus pretium diam sed euismod tempor.
[marker]
Quisque pretium efficitur purus, interdum pulvinar nunc viverra ac. Vestibulum sit amet lobortis ligula. Nulla a nunc eu risus faucibus auctor non at leo. Mauris fermentum, turpis eu feugiat semper, nulla turpis venenatis dui, at condimentum sapien ligula eget ante. Donec vulputate tristique rhoncus. Sed et volutpat elit, ut sollicitudin nibh.';

echo 'Full text:' . PHP_EOL . $str . PHP_EOL . PHP_EOL;
$beforeMarker = '';
if (preg_match('/^(.*?)\[marker\]/isu', $str, $match)) {
    $beforeMarker = $match[1];
}
$withoutMarker = str_replace('[marker]', '', $str);
echo 'Before marker: ' . PHP_EOL . $beforeMarker . PHP_EOL;
echo 'Without marker: ' . PHP_EOL . $withoutMarker . PHP_EOL;


https://repl.it/repls/MediumLongtermHarddrives
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы