我有一个文本文件,想要提取不透明的段落黑白,在PHP中有两个特殊行

奥马尔·拉希德(Omar Rashid)

我有这段代码,想从两个特定行之间的文本文件中提取数据。我想提取这两行的黑白部分。TEXT文件示例在这里

---
 - ID: some random id

 \_______________________________\_
HELLO 
This is an example text.
I AM SECTION 1
\_______________________________\_
HELLO 
This is an example text.
I AM SECTION 2
\_______________________________\_
HELLO 
This is an example text.
I AM SECTION 3
\_______________________________\_
hello 
this is example text here
and i am section 4

在这里,我有一些与这些行匹配的代码,但是没有找到如何从文本文件中提取包括最后一节在内的每个节。

并需要这样的输出:

[0] => ' HELLO 
         This is an example text.
         I AM SECTION 1',
[1] => ' HELLO 
         This is an example text.
         I AM SECTION 2',
[2] => ' HELLO 
         This is an example text.
         I AM SECTION 3',
[3] => ' HELLO 
         This is an example text.
         I AM SECTION 4',


public static function find_section_in_file($file = '', $directory = '')
{
    $response = ['error' => true, 'section' => NULL];
    if (isset($file) && isset($directory)) {
        $handle = fopen($directory."\\".$file, "r");
        $section = [];
        if ($handle) {

            while (($line = fgets($handle)) !== false) {
                $new_line = trim(preg_replace('/\s+/', ' ', $line));
                $start = self::startsWith($new_line, '\__');
                $end = self::endsWith($new_line, '_\_');

                if ($start && $end){
                    array_push($section, $line);
                }
            }
            fclose($handle);
            $response = ['error' => false, 'section' => $section];

        }
        //need To write Query to save section in DB
    }
    return $response;
}
第四只鸟

您可以匹配所有不以反斜杠/下划线开头的行,并捕获捕获组1中的行。

^\h*\\_+\\_\R((?:.*\R(?!\h*\\_+\\_).*)*)

说明

  • ^ 字符串开始
  • \h*\\_+\\_\R比赛0+水平空白字符,\,1个+下划线\_和一个Unicode行序列
  • ( 捕获组1
    • (?: 非捕获组
      • .*\R 匹配整行和换行符
      • (?!\h*\\_+\\_) 负向超前,断言该行不是以反斜杠/下划线开头
      • .* 匹配整行匹配
    • )* 关闭非捕获组并重复1次以上
  • ) 关闭捕获组

正则表达式演示| PHP演示

例如

$re = '/^\h*\\\\_+\\\\_\R((?:.*\R(?!\h*\\\\_+\\\\_).*)*)/m';
$str = '---
 - ID: some random id

 \\_______________________________\\_
HELLO 
This is an example text.
I AM SECTION 1
\\_______________________________\\_
HELLO 
This is an example text.
I AM SECTION 2
\\_______________________________\\_
HELLO 
This is an example text.
I AM SECTION 3
\\_______________________________\\_
hello 
this is example text here
and i am section 4';

preg_match_all($re, $str, $matches);
print_r($matches[1]);

输出量

Array
(
    [0] => HELLO 
This is an example text.
I AM SECTION 1
    [1] => HELLO 
This is an example text.
I AM SECTION 2
    [2] => HELLO 
This is an example text.
I AM SECTION 3
    [3] => hello 
this is example text here
and i am section 4
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我有一个包含两个部分的文本文件。我想将两部分分成两个列表。(python帮助)

来自分类Dev

如果站点中有两个我想要的链接,另一个我不想要的链接,如何从站点中提取特定链接?

来自分类Dev

在收藏夹中有一个文本文件

来自分类Dev

从Python的文本文件中的列中删除前导零,然后将具有两个文本文件的相同字符串的相似行合并为一个

来自分类Dev

[Python]将两个文本文件合并为一个(一行一行)

来自分类Dev

使用python通过两个标识符从一个巨大的文本文件中提取行作为开始和结束

来自分类Dev

有效地删除一个非常大的文本文件的最后两行

来自分类Dev

将两个带整数的文本文件合并为一个文本文件

来自分类Dev

比较两个文本文件文件并返回第一个差异所在的行和列

来自分类Dev

我可以共享一个具有文本文件链接的Excel文件吗?

来自分类Dev

使用python 2.7计算一个目录中有多少个文本文件并对其进行编辑

来自分类Dev

python将两个文本文件合并为一个文件

来自分类Dev

根据另一个文本文件中的两列从文件中提取行

来自分类Dev

我想从一个文本文件中提取所有文本,然后转换成xml文件

来自分类Dev

基于一个公共字段(IP地址)联接两个文本文件

来自分类Dev

删除文本文件中每行有一个单词更改的重复行

来自分类Dev

搜索文本文件的特定行,但有一个恼人的扭曲

来自分类Dev

查找文本文件中具有至少两个共同词的所有行(重击)

来自分类Dev

来自两个文本文件的行的组合

来自分类Dev

匹配两个文本文件中的行

来自分类Dev

有没有办法用php快速生成两个不同的文本文件?

来自分类Dev

比较两个具有重复项的文本文件并将明显的差异写入文本文件

来自分类Dev

从一个txt文件中提取所有行,并将其复制到新的文本文件中,并附带一些附加功能

来自分类Dev

我可以在jquery悬停时制作两个具有不同不透明度的图像吗

来自分类Dev

有不透明的孩子时是否可以有一个透明的窗口?

来自分类Dev

有不透明的孩子时是否可以有一个透明的窗口?

来自分类Dev

从文本文件中提取所有数字并将其存储在另一个文件中

来自分类Dev

我有一个文本文件,我需要删除第一个空白行,然后删除第二个空白行之后的所有文本

来自分类Dev

通过更新记录合并两个文本文件(更新现有文本文件,插入新文本文件)

Related 相关文章

  1. 1

    我有一个包含两个部分的文本文件。我想将两部分分成两个列表。(python帮助)

  2. 2

    如果站点中有两个我想要的链接,另一个我不想要的链接,如何从站点中提取特定链接?

  3. 3

    在收藏夹中有一个文本文件

  4. 4

    从Python的文本文件中的列中删除前导零,然后将具有两个文本文件的相同字符串的相似行合并为一个

  5. 5

    [Python]将两个文本文件合并为一个(一行一行)

  6. 6

    使用python通过两个标识符从一个巨大的文本文件中提取行作为开始和结束

  7. 7

    有效地删除一个非常大的文本文件的最后两行

  8. 8

    将两个带整数的文本文件合并为一个文本文件

  9. 9

    比较两个文本文件文件并返回第一个差异所在的行和列

  10. 10

    我可以共享一个具有文本文件链接的Excel文件吗?

  11. 11

    使用python 2.7计算一个目录中有多少个文本文件并对其进行编辑

  12. 12

    python将两个文本文件合并为一个文件

  13. 13

    根据另一个文本文件中的两列从文件中提取行

  14. 14

    我想从一个文本文件中提取所有文本,然后转换成xml文件

  15. 15

    基于一个公共字段(IP地址)联接两个文本文件

  16. 16

    删除文本文件中每行有一个单词更改的重复行

  17. 17

    搜索文本文件的特定行,但有一个恼人的扭曲

  18. 18

    查找文本文件中具有至少两个共同词的所有行(重击)

  19. 19

    来自两个文本文件的行的组合

  20. 20

    匹配两个文本文件中的行

  21. 21

    有没有办法用php快速生成两个不同的文本文件?

  22. 22

    比较两个具有重复项的文本文件并将明显的差异写入文本文件

  23. 23

    从一个txt文件中提取所有行,并将其复制到新的文本文件中,并附带一些附加功能

  24. 24

    我可以在jquery悬停时制作两个具有不同不透明度的图像吗

  25. 25

    有不透明的孩子时是否可以有一个透明的窗口?

  26. 26

    有不透明的孩子时是否可以有一个透明的窗口?

  27. 27

    从文本文件中提取所有数字并将其存储在另一个文件中

  28. 28

    我有一个文本文件,我需要删除第一个空白行,然后删除第二个空白行之后的所有文本

  29. 29

    通过更新记录合并两个文本文件(更新现有文本文件,插入新文本文件)

热门标签

归档