我有一个如下所示的文本文件:
有没有办法只在每行回应特定字符?
我的代码显示文本文件:
<?php
header('Content-Type: text/html; charset=UTF-8');
echo "<pre>".file_get_contents("MAGFLE_Greenbnk_Caraga.txt")."</pre>";
?>
非常感谢您的帮助 谢谢
答案 0 :(得分:0)
使用多行正则表达式并遍历所有匹配项:
$source = file_get_contents("MAGFLE_Greenbnk_Caraga.txt");
$matches = [];
preg_match_all("/(9954[0-9]{25}).*(.{13}$)/um", $source, $matches);
for($i = 0; $i < count($matches[1]); ++$i) {
echo "Line {$i} -- ";
echo "chars that start with '9954': {$matches[1][$i]} --- ";
echo "last 13 chars: {$matches[2][$i]} <br>";
}
正则表达式包含两个捕获组。第一组匹配以'6654'开头的29个字符。第二个匹配最后13个字符。
matches数组包含3个数组:
应用数据时我得到以下输出:
根据您的数据,这不适用于所有情况。也许你必须用更多的规则来增强正则表达式。
答案 1 :(得分:-2)
您可以将.txt数据存储在数组中,然后根据需要进行排序。 explode()函数应该有所帮助。下面给出的链接 -