Помощ с Извиличане на време

Какъв линк слагаш във функцията?
Дай и снимка къде трябва да се покаже времето. В кода имаш зададена логика за duration, но може да не сработва.. Което ще рече, че вече има изменения и кода е старичък.
Да сме в помощ на останалите, тези неща според мен са от значение.
 
Писахме си и се установи, че парсера няма за какво да се закачи в сорс кода. Няма никъде нищо за duration, time, length.
Ето примерен клип https://dropload.io/7ohcjipckjen
 
Реално ако се види сорс кода на тази страница дето Pok4 е дал като пример, на едно място има 3133 което е 52:13, но не съм напълно сигурен дали може да се извлече. Трябва да се проверят още линкове дали последователността от стрингове е еднаква.


Реално ако след секундите винаги следва |file| може да се извлече и да се пробразува в mm:ss
 
Мда, това не съм го видял и си струва да се провери.
 
Реално ако се види сорс кода на тази страница дето Pok4 е дал като пример, на едно място има 3133 което е 52:13, но не съм напълно сигурен дали може да се извлече. Трябва да се проверят още линкове дали последователността от стрингове е еднаква.



Реално ако след секундите винаги следва |file| може да се извлече и да се пробразува в mm:ss

Заповядайте :)
https://dropload.io/42eb66kboowc 720x400, 41:59
https://dropload.io/vjxvym0mfoda 720x400, 42:39
https://dropload.io/h6hv0pudp92e 720x400, 43:03
https://dropload.io/kszgcalef45q 720x400, 43:25
https://dropload.io/bmtm14wcytrb 720x400, 43:28
https://dropload.io/lecgi6nwok43 720x400, 43:11
https://dropload.io/iwohngm66e41 720x400, 43:40
https://dropload.io/9j6xgmsvniy3 720x400, 43:08
https://dropload.io/uoagwrb6vyeo 720x400, 41:38
https://dropload.io/6x0z0melaw06 720x400, 43:30
https://dropload.io/449zf05c3f7m 624x352, 43:13
https://dropload.io/gtrtgot0mgm3 624x352, 41:40
https://dropload.io/kvll7q4qgr2u 624x352, 41:37
https://dropload.io/la9fcihpgwqd 624x352, 42:01
https://dropload.io/kul2iqyu3o4d 624x352, 43:28
https://dropload.io/oejwoo1oqk6s 624x352, 42:32
https://dropload.io/6knxkrpu5eh8 624x352, 42:22
https://dropload.io/ymcti7y4u3iz 624x352, 43:08
https://dropload.io/6kcczrlm4vnh 624x352, 43:30
https://dropload.io/7q2dwjdmz5hg 624x352, 43:22
 
Последно редактирано:
Заповядайте :)
https://dropload.io/vjxvym0mfoda 720x400, 42:39

Много примери си дал.. още 2 линка щяха да стигнат :D

Ей така примерно :D Най-лесния начин..

Код:
$f = file_get_contents('https://dropload.io/vjxvym0mfoda');
$f_ex = explode('|file|', $f);
$s_ex = explode('|', $f_ex[0]);
$seconds = end($s_ex);
$formatedTime = date("i:s", $seconds);
echo $formatedTime;

Резултат:
 
Нещо такова трябва да стане:



Код:
if ( ! $duration)

        {
            if (strpos($video_data[$i], '|file|' ) 
{

     $f_ex = explode('|file|',video_data[$i]);

$s_ex = explode('|', $f_ex[0]);
$seconds = end($s_ex);
$formatedTime = date("i:s", $seconds);

                    $info['duration'] =$formatedTime;

                    $duration = true;

            }

        }


Сори от телефона съм..
 
Последно редактирано:
В сорса има див с class=length и там е времето. Помагайте, че съм от телефона..
 
Никой ли не иска да помогне?
Сложи някъде тази функция във файла
Код:
function get_string_between($string, $start, $end, $inclusive = false) {
$fragments = explode($start, $string, 2);
if (isset($fragments[1])) {
$fragments = explode($end, $fragments[1], 2);
if ($inclusive) {
return $start.$fragments[0].$end;
} else {
return $fragments[0];
}
}
return false;
}

След това може да я ползваш така:
Код:
$info['duration'] = trim(get_string_between($video_data[$i], '<div class="length"> <i class="fad fa-clock mr-1"></i>', '</div>'));

Ако дадеш кода за новата функция, ще ти го пригодим, ако не можеш сам.
 
Последно редактирано:
Благодаря ще тествам утре :)
PHP:
        if ( ! $duration)

        {

            if (strpos($video_data[$i], '"video:duration"'))

            {

                if (preg_match('/content="(.*?)"/', $video_data[$i], $matches) != 0)

                {

                    $info['duration'] = $matches[1];

                    $duration = true;

                }

            }

        }
 
Последно редактирано:
Но със старата фунция имам малък проблем понякога изважда правилното времето понякога ми изважда 00:02
PHP:
        if ( ! $duration)
        {
            if (strpos($video_data[$i], '|file|'))
            {
                $f_ex = explode('|file|', $video_data[$i]);
                $s_ex = explode('|', $f_ex[0]);
                $seconds = end($s_ex);
                $formatedTime = date("i:s", $seconds);

                $info['yt_length'] =$seconds;
                $duration = true;
            }
        }
А като го променя на
PHP:
$info['yt_length'] =$formatedTime;
Ми вади само 00:52 а цялото време е 52:13
 
Последно редактирано:
Но със старата фунция имам малък проблем понякога изважда правилното времето понякога ми изважда 00:02
PHP:
        if ( ! $duration)
        {
            if (strpos($video_data[$i], '|file|'))
            {
                $f_ex = explode('|file|', $video_data[$i]);
                $s_ex = explode('|', $f_ex[0]);
                $seconds = end($s_ex);
                $formatedTime = date("i:s", $seconds);

                $info['yt_length'] =$seconds;
                $duration = true;
            }
        }
А като го променя на
PHP:
$info['yt_length'] =$formatedTime;
Ми вади само 00:52 а цялото време е 52:13

Дай линк с който не работи правилно да погледнем :Д
 
А ми прецакан си в случая.. на този линк са му записани на друго място секундите. Само дето проблема, е че това duration го има и в стринга с другите линкове където се e преди file. Трябва да си измислиш някаква логика кога да го извличаш от преди file и кога от преди duration :)

|metadata|preload|2540|duration|
 
Мда забелезах го отоврих 10 линка и в 6 от тях беше в file а другите 4 duration.
Прецакан съм.
 
Мда забелезах го отоврих 10 линка и в 6 от тях беше в file а другите 4 duration.
Прецакан съм.

Реално може да го направиш с някакви проверки.. Примерно ако проверяват данните преди file дали са int.. Ако не са int, значи вероятно трябва да взимаш от преди duration-a. И ако някъде има пак проблем в бъдеще пак трябва да видиш защо става така..
 

Back
Горе