Хотел написать скрипт для запроса с сайта информации о текущем треке на радио, но там строка с треком в виде "Исполнитель - пеcня [Заказчик (текст пожелания)]". Как можно обрезать эту строку, чтобы осталось только "Исполнитель - Песня"? Спасибо.
В идеале - никак. Название песни или исполнителя может содержать теже знаки, что и у нас детерминатор (в данном случае [ ). Есть пара вариантов регулярных выражений, чуть попозже напишу.
PHP: <? $song = 'Исполнитель - пеcня [Заказчик (текст пожелания)]'; // Пробуем разобрать $song = preg_replace('/\[(.+)\]$/is', '', $song); echo $song; ?> Вот, в данном случае будет работать прекрасно, даже если присутствуют квадратные скобки во втором сегменте разбираемой строки. НО! Если встретится такая скобка в исполнителе или песне, то он захватит её и начнет отсчет именно с неё. Можно пробовать чисто по шаблону, но опять-таки, если встретим исполнителя со знаком слеша и песню со скобками, то всё упадет.
Спасибо, помогло А вот еще, иногда бывает что пишут вот так "Исполнитель - Песня [заказчик]" Это как то можно совместить с предыдущим? То есть получается убирать содержимое квадратных скобок вместе с ними (проверил, песен, в названиях которых есть квадратные скобки, - нет)
Да я разобрался, спасибо, но еще одно но: просто когда пишешь echo $song отображает нормально, а когда добавляю на картинку imagettftext-функцией, то не отображает как быть?