<?
/* 按照要求 从找到数据中元素$keyword,从它开始带< >标签的,截取标签中的值;
给定另一个关键字,需要与之匹配的,截取它剩余部分 */
//$aryList = array('aaa','bbb','ab','Content-Descrīption: Undelivered Message','send_sid: 3213245','dd','--<adfddfga>--','ee');
$aryList= file('email01(1).txt');
$keyword = "Content-Descrīption: Undelivered Message";
echo parseIt($aryList,$keyword);
echo "<br>";
echo parseId($aryList);
function parseIt($aryList,$keyword){
$pos = 0;
//取得 'Undelivered Message' 位子
for($i=0;$i<count($aryList);$i++){
$line = $aryList[$i];
if(substr_count($line,$keyword) > 0){
$pos = $i;
break;
}
}
if($pos < 1 ) return "";
//从取得的位子开始
for($i=$pos;$i<count($aryList);$i++){
$line = $aryList[$i];
//从一行的字符串里面,取出有< >的字符串
$rs = parseTagCenter($line);
if(empty($rs)) continue;
return $rs;
}
}
function parseTagCenter($line){
$tag1 = "<";
$tag2 = ">";
//没有<就退出
if(substr_count($line,$tag1) < 1 ) return "";
//没有>就退出
if(substr_count($line,$tag2) < 1 ) return "";
//取得开始结束的位子
$start = strpos($line,$tag1) + 1;
$end = strpos($line,$tag2) - $start;
//截取
return substr($line,$start ,$end);
}
function parseId($aryList)
{
$id_key="send_sid:";
for($i=0;$i<count($aryList);$i++){
$line = $aryList[$i];
//开始匹配 , 取值
if(substr_count($line,$id_key) > 0){
$id = substr($line,strlen($id_key));
$id = trim($id);
return $id;
}
}
}
?>