我有一个文本文件,想用PHP解析它
任何人都知道如何获得IMPATTO LTD
IMPATTO LTD ZAHLUNG: A
从上面一行?
我在想也许是正则表达式,但没有统一的方法来提取它..我猜最好的是一个表达式,它会让我直到Zahlung的Z文本。这可能吗?
顺便说一下,第一个单词可以是可变长度......
答案 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);
阅读手册页,因为这个函数非常功能强大,并且在我发布的简单示例中有一些我没有使用的有用参数。
<强>更新强>
原谅我的英语不好,似乎我完全误解了这个问题,如果没有解决这个问题就会删除这个帖子。