代码之家  ›  专栏  ›  技术社区  ›  Corey

在php中,如何在两个字符串之间创建一个包含所有字符串的数组?

  •  1
  • Corey  · 技术社区  · 15 年前

    我有一段文字,比如:

    <b>First content</b> followed by <b>second content</b>
    

    "First content" and then "second content"
    

    我想创建一个数组,它看起来: [1]=>“第一个内容” [2]=>“第二个内容”

    从这两个例子中,我得到两个标签之间的内容。我已经知道如何获取第一个实例,但无法找到使其递归的最佳方法。

    5 回复  |  直到 15 年前
        1
  •  2
  •   Select0r    15 年前

    如果您知道“第一个内容”和“第二个内容”之间的确切含义,请使用 explode :

    http://php.net/manual/en/function.explode.php

    例如

    $values = explode("followed by", $yourtext);
    

    (如果只需要纯文本,请在数组元素上使用“strip_tags”)

        2
  •  2
  •   Pekka    15 年前

    如果您希望提取特定标记之间的所有内容,最好使用像 simplehtmldom

        3
  •  2
  •   user187291    15 年前

    基本上,您需要一个“start(.+?)形式的regexp结束“,例如

    $a = "<b>First content</b> followed by <b>second content</b>";
    preg_match_all("~<b>(.+?)</b>~", $a, $m);
    print_r($m[1]);
    
        4
  •  0
  •   ghostdog74    15 年前
    $string="<b>First content</b> followed by <b>second content</b>";
    $s = explode("followed by", strip_tags($string));
    print_r($s);
    
        5
  •  0
  •   Dan D.    13 年前
    <?php
    
    $yourArray = split(" followed by ", $yourString);
    
    ?>
    

    只要在每个要分解为数组的值之间有相同的文本,就可以使用此示例。