gpt4 book ai didi

php - 为什么我不能 str_replace?

转载 作者:行者123 更新时间:2023-12-04 23:06:32 27 4
gpt4 key购买 nike

我正在尝试仅获取视频文件的持续时间。

我将使用 ffmpeg 抓取任何长度的视频文件的精确 10 个缩略图。
为此,我需要找出持续时间,然后除以 10 来做 ffmpeg。

结果是一样的。 str_replace 不起作用。
结果:

b: [FORMAT] duration=6.048000 [/FORMAT] 
bb: [FORMAT] duration=6.048000 [/FORMAT]
bbbb: [FORMAT] duration=6.048000 [/FORMAT]



$_b = array(shell_exec("C:\\ffmpeg\\bin\\ffprobe -v quiet -v fatal -show_format_entry duration $videoFile"));

$b = $_b[0];
echo "b: " .$b . "<br/>";
$bb = str_replace("[FORMAT] duration=","",$b);
echo "bb: " .$bb . "<br/>";
$bbbb = str_replace(" [/FORMAT]", "", $bb);
echo "bbbb: " .$bbbb . "<br/>";

//var partsArray = coolVar.split('-');



for($num=1; $num<=3; $num++)
{
$interval=$num*3;
shell_exec("$ffmpeg -i $videoFile -an -ss $interval -s $size $num.jpg");
echo "Thumbnail Created........! - $num.jpg <br />";

}
echo "<br / >$num thumbnails Created!";

最佳答案

使用preg_match_all()反而:

preg_match_all('~(\w+):.*?duration=([\d.]+).*~', $data, $matches);  

要显示它,您可以使用循环:
for ($i=0; $i < count($matches); $i++) { 
echo $matches[1][$i]. ' : ' . $matches[2][$i] . PHP_EOL;
}

输出:
b : 6.048000
bb : 6.048000
bbbb : 6.048000

关于php - 为什么我不能 str_replace?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21347787/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com