2016-03-24 2 views
2

Моя строка $ podcast-> название возвращает что-то вроде этого:комбинирование 2 SUBSTR и 1 StrPos в одной строке PHP

Artist Name - The Title 

Я использую следующие 2 строки кода:

$this_dj = substr($podcast->title, 0, strpos($podcast->title, "-")); 
$this_dj = substr($this_dj, 0, -1); 

первой линии полосы все после (и в том числе «-»), который оставляет меня:

Artist Name 

вторая строка удаляет пробелы в конец.

Вопрос в том, могу ли я объединить эти две строки в одну строку?

Я пробовал:

$this_dj = substr($podcast->title, 0, strpos($podcast->title, "-"), -1); 

Но это не сработало.

+2

Если вы хотите удалить пробельные в конце, лучший способ это должно было бы использоваться ['trim()'] (http://php.net/manual/en/function.trim.php). – prehfeldt

+0

Я бы добавил, что в конце? – Grant

+0

вот так: 'trim (substr ($ podcast-> title, 0, strpos ($ podcast-> title," - ")));' – prehfeldt

ответ

0

Она также будет работать с вашим примером, просто переместить конец подстроки точку:

$this_dj = substr($podcast->title, 0, strpos($podcast->title, "-") - 1); 
+0

Да, это сработало, я также включил дополнительную запятую. Спасибо Сиффер! – Grant

1

Если ваш разделитель всегда постоянный, вы можете использовать explode, это намного проще, см. Пример ниже.

$string = 'Artist Name - The Title'; 

$array = explode(' - ', $string); 

print_r($array); 

Выведет

Array 
(
    [0] => Artist Name 
    [1] => The Title 
) 

И с помощью list вы можете заполнить переменные непосредственно

list($artist,$song) = explode(' - ', $string); 

print $artist . PHP_EOL; 
print $song . PHP_EOL; 

, которые будут выводить

Artist Name 
The Title 

Нет пробельные :)

+0

Хотя это строго не ответ на мой вопрос, это блестяще. Я сделаю это так. Я должен принять один из других ответов, поскольку они более непосредственно относятся к вопросу, но большое вам спасибо за это Алекс! – Grant

+0

Вы очень приветствуете @Grant! –

1

Использование trim() Команда:

$this_dj = trim(substr($podcast->title, 0, strpos($podcast->title, "-"))); 

 Смежные вопросы

  • Нет связанных вопросов^_^