Удалить подстроку в строке начиная с символа переноса
У меня есть строка, в которой я хочу удалить все с момента двойного переноса строки \n\n reply_message_text = 'Это надо оставить \n\n Это надо удалить'
strstr($reply_message_text, '\n\n', true)
Но это возвращает пустую строку, помогите разобраться пожалуйста
Ответы (1 шт):
Автор решения: versetty777
→ Ссылка
Лучше всего использовать функцию explode() с '\n\n' в качестве разделителя, и возвратить элемент массива с индексом 0.
$parts = explode('\n\n', $reply_message_text);
$result = $parts[0];
Или через substr() :
$pos = strpos($reply_message_text, '\n\n');
$result = substr($reply_message_text, 0, $pos);
Ещё можно взять strstr() с параметром "before_needle":
$result = strstr($reply_message_text, '\n\n', true);
или так:
$parts = explode('\n\n', $reply_message_text);
$result = $parts[0];
Либо вырезать ту часть строки, которая идет до первого вхождения искомой подстроки:
$pos = strpos($reply_message_text, '\n\n');
$result = substr($reply_message_text, 0, $pos);
Если ни один из способов не работает, проверь наличие символов '\n\n' в строке.