从文本文件PHP中提取一行

时间:2011-05-30 12:18:31

标签: php text

我有一个文本文件,想用PHP解析它

任何人都知道如何获得IMPATTO LTD

IMPATTO LTD                               ZAHLUNG:       A

从上面一行?

我在想也许是正则表达式,但没有统一的方法来提取它..我猜最好的是一个表达式,它会让我直到Zahlung的Z文本。这可能吗?

顺便说一下,第一个单词可以是可变长度......

5 个答案:

答案 0 :(得分:2)

$pos = strpos($line, 'ZAHLUNG');
$string = trim(substr_replace($line, '', $pos));

如果'ZAHLUNG'不变则使用正则表达式是个坏主意。

答案 1 :(得分:1)

$string = null;
$itms = explode('ZAHLUNG', $line);
if(is_array($itms) AND isset($itms[0])) {
    $string = trim($itms[0]);
}

echo $string; // IMPATTO LTD

答案 2 :(得分:1)

尝试这个,它将文件读入一个数组,然后逐行循环遍历数组以查看是否找到了您的文本

$lines = file('test.txt');
$string_to_find = 'IMPATTO LTD';
foreach ($lines as $line) {
        if(strstr($line,$string_to_find)){
        echo 'found'. $string_to_find;
        }
}

答案 3 :(得分:1)

如果ZAHLUNG:是固定分隔符:

<?php

$string = 'IMPATTO LTD                               ZAHLUNG:       A';

if( preg_match('/^(.+)ZAHLUNG:/', $string, $matches) ){
    var_dump( trim($matches[1]) );
}

答案 4 :(得分:0)

你走在正确的轨道上。 preg_match是你的朋友。

$pattern = "/IMPATTO LTD/";

$matched = preg_match($pattern, $string);

阅读手册页,因为这个函数非常功能强大,并且在我发布的简单示例中有一些我没有使用的有用参数。

<强>更新

原谅我的英语不好,似乎我完全误解了这个问题,如果没有解决这个问题就会删除这个帖子。