Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.225.11.98] |
|
Сообщ.
#1
,
|
|
|
Есть строка вида
1. «Track name» 0:13 1 - Track name (0:13) могут быть и другие варианты, хотелось бы охватить по максимуму... Использую регулярку /^(\d+)\s?[\.-_]?\s*[\"\'«]?(.+)[\"\'»]?\s+[\[\(\{]?([\d:]+)[\]\)\}]?$/i И вообще, не перемудрил ли я? Может можно попроще/пограмотнее/понадежнее? |
Сообщ.
#2
,
|
|
|
А какие еще бывают варианты? И что может содержать Track name? Может ли название содержать, к примеру, строку 7:40?
|
Сообщ.
#3
,
|
|
|
Цитата AVA12 @ А какие еще бывают варианты? Варианты не знаю, откуда еще у пользователя возникнет идея копировать список треков... Первый вариант из Википедии, второй из сгенерированного ВинАмпом списка... Главное ограничение, чтобы первым шел номер, потом название, потом продолжительность... Цитата AVA12 @ Теоретически может содержать все, что угодно...И что может содержать Track name? Может ли название содержать, к примеру, строку 7:40? В принципе, если парсинг списка не удастся, это все приведет только к заполнению его в ручную в отдельные поля... просто туда забивать муторно и я сделал поле для парсинга целого списка... То есть, если в каких-то исключительных случаях регулярка не сработает, ничего страшного... |
Сообщ.
#4
,
|
|
|
Короче, сделал пока так:
/^(\d+)\s?[\.-]?\s+["«]?([^"»]+)["»]?\s+[\[\(\{]?([\d:]+)[\]\)\}]?$/i Если пользователю приспичит еще что-то хитрее вбить - сам себе виноват будет |