2012-04-05 93 views
1

之间获取内容好,我有一个很大的文件,还有一些内容我需要的是seprated,该内容位于 - - - - - - - - - - [ عنوان ]- - - - - - - - - - [ انتهاى عنوان ]之间,是有没有办法跟reqular表达和PHP来获取这些内容?正则表达式两线

完全格式是这样的:

- - - - - - - - - - [ عنوان ] 
في حد اللواط 
- - - - - - - - - - [ انتهاى عنوان ] 

ومنها قوله سبحانه : ولوطا إذ قال لقومه : أتأتون الفاحشة وأنتم تبصرون أئنكم لتأتون 
الرجال شهوة من دون النساء بل أنتم قوم تجهلون ، فما كان جواب قومه إلا أن قالوا أخرجوا 

- - - - - - - - - - [ عنوان ] 
في حرمة اللواط 
- - - - - - - - - - [ انتهاى عنوان ] 
في حرمة اللواط 
ثم إنه لا شك في حرمة اللواط بل إن حرمته من ضروريات الدين ودل 
عليها الكتاب المبين (1) وسنة سيد المرسلين وأهل بيته الطاهرين صلوات الله 

并继续...谢谢你

+0

http://cn.php.net/manual/en/function.preg-match.php#95828希望会帮助你 – steve 2012-04-05 09:15:54

回答

2

使用此代码,

$lines = preg_split("/[\r\n]+/u", $str, -1, PREG_SPLIT_NO_EMPTY); 
$data = array(); 
$start = ' 
    - - - - - - - - - - [ عنوان ] 
    '; 
$end = ' 
    - - - - - - - - - - [ انتهاى عنوان ]'; 
$start = trim($start); 
$end = trim($end); 
$process = false; 
foreach($lines as $line){ 
    if(mb_strpos($line, $start, 0, "utf-8")!==false){ 
     $process=true; 
    }elseif(mb_strpos($line, $end, 0, "utf-8")!==false){ 
     $process=false; 
    }elseif($process){ 
     $data[] = $line; 
    } 
} 
print_r($data); 

注:

    由于LTR d。
  1. 方向很难输入确切的短语。所以我使用修剪技术。

Sample

+0

TNX,但它返回空数组,居然有以许多行这样的文件 – 2012-04-05 09:02:27

+0

@HellLord然后张贴您的示例文件的部分请 – 2012-04-05 09:06:51

+0

我想也许这应该是一个编码问题在这里,我的文件是用unicode编码格式化的,语言是正确的左语言,是好的使用原始文本还是应该更改格式?我真的很困惑:(( – 2012-04-05 09:16:45