当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP在电影图像中的妙用 合并汉英字幕

PHP
discuz Passport 通行证 整合笔记
flash+php+mysql打造简单留言本教程
[原创]效率较高的php下读取文本文件的代码
phpmyadmin的安装与使用图文教程
IStream与TStream之间的相互转换
继续收藏一些PHP常用函数
php-5.2下php.ini 中文版配置说明
php单件模式结合命令链模式使用说明
PHPMailer邮件类利用smtp.163.com发送邮件方法
PHP编实现程动态图像的创建代码
php仿ZOL分页类代码
php仿discuz分页效果代码
攻克CakePHP(PHP中的Ruby On Rails框架)图文介绍
PHP ajax 分页类代码
PHP和Java 集成开发详解分析 强强联合
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
Pear DB 新手入门指南教程
PHPMailer安装方法及简单实例
Apache+php+mysql在windows下的安装与配置图解(最新版)

PHP在电影图像中的妙用 合并汉英字幕


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 97 ::
收藏到网摘: n/a

英文字幕:

1
00:00:00,750 --> 00:00:02,350
previously on prison break:
2
00:00:02,380 --> 00:00:05,000
Give me the number for a sundown tel,please?

中文字幕:
1
00:00:00,750 --> 00:00:02,350
越狱前情提要
2
00:00:02,380 --> 00:00:05,000
请帮我查下Sundown旅馆的电话

合并后:
1
00:00:00,750 --> 00:00:02,350
越狱前情提要
previously on prison break:

2
00:00:02,380 --> 00:00:05,000
请帮我查下Sundown旅馆的电话
Give me the number for a sundown tel,please?

PHP代码:

[Copy to clipboard]
CODE:
<?
//////////////////////////
//下面是英文剧本部分采集//
//////////////////////////
$cc=0; //数组开始量
$filename = "./en.txt";
$handle = file($filename);
$enew = array();
$total = array();
$cc_total = 0;
$cc_e_total = 4;
$en_start =0;
foreach ($handle as $key => $value)
{
   
   if(ereg("^[1-9]",$value))
{  
   if ($value==($en_start+1))
    {
     $enew[$cc]=$key+2; //+2是为了把文字部分定位 因为数字和文字差两行。$gb_key+2为txt文本中文字所在的行数。
     $cc++;
     $en_start++;
    }
  }
}
reset($handle); //把英文剧本指针返回第一个。
//下面是中文
$gb_cc=0;
$gb_start = 0;
$gb_filename = "./gb.txt";
$gb_handle = file($gb_filename);
$gb_new = array();
foreach ($gb_handle as $gb_key => $gb_value)  //$gb_handle是$gb_handle[0]=1 $gb_handle[1]=00:33:47,890 --> 00:33:48,610
{
   
   if(ereg("^[1-9]",$gb_value))
{  
   
    if ($gb_value==($gb_start+1))
    {
     $gb_new[$gb_cc]=$gb_key; //+2是为了把文字部分定位 因为数字和文字差两行。$gb_key+2为txt文本中文字所在的行数。
     $gb_cc++;
     $gb_start++;
    }
   
   
  }
}
reset($gb_handle); //把英文剧本指针返回第一个。

foreach ($gb_new as $new_key => $new_value)  //中文在先$new_value开始于0
{
   $total[$cc_total]=$gb_handle[$new_value];
   $total[$cc_total+1]=$gb_handle[$new_value+1];
   $total[$cc_total+2]=$gb_handle[$new_value+2];
   $total[$cc_total+3]=$gb_handle[$new_value+3];
   //上面四个为中文 INDEX 和时间 和两行内容
   $cc_total=$cc_total+7; //指针移动到$total[7]
}
foreach ($enew as $e_new_key => $e_new_value)
{
   $total[$cc_e_total]=$handle[$e_new_value];
   $total[$cc_e_total+1]=$handle[$e_new_value+1];
   $cc_e_total=$cc_e_total+7;
}
$total_count=count($total);
for($e=0;$e<$total_count;$e++)
{
   
   echo $total[$e]."<br />";

  
}

?>

更多,请点击:http://www.phpchina.com/bbs/thread-11911-1-1.html