Задать вопрос
@Kennius
Начинающий фронт-эндер

Как обрезать строку в php?

Есть строки с названиями новостей(видеофильмы) получаемый из тега {title} строка состоит из

название фильма(одно или несколько слов) год(не всегда есть) и тип рипа(список составить не трудно(WEB-DLRip, WEBRip-AVC и т.д.)) вот мне надо обрезать всё что после года то есть определённый массив с обнаружением вхождений типа рипа

несколько примеров как есть

Хоббит: Битва пяти воинств / The Hobbit: The Battle of the Five Armies (2014) DVDScr | CAMRip
Левиафан (2014) WEBRip-AVC
Великий уравнитель / The Equalizer (2014) BDRip от HQ-ViDEO | Лицензия


как надо

Хоббит: Битва пяти воинств / The Hobbit: The Battle of the Five Armies (2014)
Левиафан (2014)
Великий уравнитель / The Equalizer (2014)


были идеи обрезать по определённому символу, по количеству знаков но то всё не то так как в жизни не угадаешь какое может быть название, осталась одна идея делать обрезание строки после слова из списка, но как это реализовать я не представляю
P.S. это всё будет на DLE
  • Вопрос задан
  • 2406 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
ivankomolin
@ivankomolin
preg_replace('/^(.*?)\s+(?:DVDScr|CAMRip|WEBRip|BDRip).*$/isu', '$1', $text);

Сюда: DVDScr|CAMRip|WEBRip|BDRip можно добавлять новые слова-границы через |


Пример:
$text = 'Великий уравнитель / The Equalizer (2014) BDRip от HQ-ViDEO | Лицензия';
var_dump(preg_replace('/^(.*?)\s+(?:DVDScr|CAMRip|WEBRip|BDRip).*$/isu', '$1', $text));die;

Выведет:
string(58) "Великий уравнитель / The Equalizer (2014)"
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Voenniy
@Voenniy
Я делал так (нужно было только русское имя + год)
Вытаскиваю название до спецсимвола (,/ и т.д.
Отдельно вытаскиваю год. Потом вывожу уже собранное.
Пример тут tracker.ru/search?q=%D0%B1%D0%BE%D0%B9
По запросу бой находится много фильмов, которые на лету группируются.
Группировка тут: tracker.ru/themes/lightblue/js/torrents.js - метод groupByName
Ответ написан
RusPOPsy
@RusPOPsy
Говорила мама, учи математику ...
пока приходит в голову только одна идея
$str = "Хоббит: Битва пяти воинств / The Hobbit: The Battle of the Five Armies (2014) DVDScr | CAMRip";
		$pm = array();
		preg_match('/\([0-9]{4}\)/', $str, $pm);
		$ps = preg_split('/\([0-9]{4}\)/', $str);
		$name = $ps[0].$pm[0];
		echo $name;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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