Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

вопрос по php

Илья Кологривов Ученик (210), на голосовании 13 лет назад
дана переменная которая содержит
mainpicture:k34j6oigigidsig9io56j346j34it0sdfgsodfgsd0-9ds,
из всего этого мы знаем что там точно есть "mainpicture:" и асе это заканчивается ","
вопрос, как достать оттуда что находится между ними и приравнять это какой либо переменной что бы переменная была ровна k34j6oigigidsig9io56j346j34it0sdfgsodfgsd0-9ds
заранее спасибо
Дополнен 13 лет назад
заместо mainpicture: может быть и что то другое
тоесть длину мы знать не можем
Дополнен 13 лет назад
и строчек таких в этой переменной может быть не одна
peremennaya1:k34j6oigigidsig9io56j346j34it0sdfgsodfgsd0-9ds,
peremennaya2:k34j6oigigidsig9io56j346j34it0sdfgsodfgsd0-9ds,
peremennaya3:k34j6oigigidsig9io56j346j34it0sdfgsodfgsd0-9ds, и тд
Голосование за лучший ответ
Константин Мудрец (12551) 13 лет назад
Тупым способом - скопировать участок строки (substr) с первой : и до конца-1.
Более сложный - регулярным выражением вытащить (preg_match)
Слава Мастер (1703) 13 лет назад
Зная длину mainpicture: сможем определить с какого символа нам начать обрезание, ну а символ, будет концом, в итоге:
$str = "mainpicture:k34j6oigigidsig9io56j346j34it0sdfgsodfgsd0-9ds,";
$res = substr ($str, 12, strpos ($str, ",") - 12);
echo $res;
dirtez Мастер (1437) 13 лет назад
регулярки в помощь
[vs] Просветленный (39022) 13 лет назад
$str = "peremennaya1:k34j6oigigidsig9io56j346j34it0sdfgsodfgsd0-9ds,
peremennaya2:k34j6oigigidsig9io56j346j34it0sdfgsodfgsd0-9ds,
peremennaya3:k34j6oigigidsig9io56j346j34it0sdfgsodfgsd0-9ds";
$arr = explode(',', $str);
foreach ($arr as $line) {
$larr = explode(':', trim($line));
echo $larr[1];
}
Похожие вопросы