PHP从数组中获取每个结果并将其附加到div标记中

时间:2011-02-12 11:48:14

标签: php arrays

这是我的代码:

    $searchfor = array();
    $searchfor[0] = 'INT.';
    $searchfor[1] = 'EXT.';

    // get the file contents, assuming the file to be readable (and exist)
    $contents = file_get_contents($file);
    // escape special characters in the query
    $pattern = preg_quote($searchfor[0], '/');
    // finalize the regular expression, matching the whole line
    $pattern = "/^.*$pattern.*\$/m";
    // search, and store all matching occurences in $matches
    if(preg_match_all($pattern, $contents, $matches)){
        echo "<div class='int'>".implode("\n", $matches[0])."</div>\n";
    }else{
        echo "No matches found";
    }

如何将结果和每个数组项放入DIV数组?

现在输出看起来像这样

<div class="int">INT 1</div>
INT 2

但我有150个INT实例。在我的文件中找到,所以我想让它显示如下:

<div class="int" id="1">INT 1</div>
<div class="int" id="2">INT 2</div>
<div class="int" id="3">INT 3</div>
<div class="int" id="4">INT 4</div>
<div class="int" id="5">INT 5</div>
<div class="int" id="6">INT 6</div>
<div class="int" id="7">INT 7</div>
<div class="int" id="8">INT 8</div>

依旧......

有什么建议吗?

更新代码:

    echo '<div id="int-div" style="width: 738px; height: 100%; border: 1px solid #000; padding: 5px; background-color: #FFF;">';
    $searchfor = array();
    $searchfor[0] = 'INT.';
    $searchfor[1] = 'EXT.';
    $searchfor[2] = 'I/E.';

    // get the file contents, assuming the file to be readable (and exist)
    $contents = file_get_contents($file);
    // escape special characters in the query
    $pattern = preg_quote($searchfor[0], '/');
    // finalize the regular expression, matching the whole line
    $pattern = "/^.*$pattern.*\$/m";
    // search, and store all matching occurences in $matches
    if(preg_match_all($pattern, $contents, $matches)){

        $row = 0;
        foreach($matches as $match)
        {
            echo "<ol><li><div class='int' id='".$row."'>".implode("</div></li><li><div class='int' id='".$row."'>", $match)."</div></li></ol>\n"; 
            $row++;
        }
    }else{
        echo "No matches found";
    }
    echo '</div>';

更新结果:

<ol>
<li>
<div class="int" id="0">INT. STRAWBERRY'S BEDROOM - MORNING</div>
</li>
<li>
<div class="int" id="0">INT. PALO TORCIDO HIGH SCHOOL, CLASSROOM - MORNING</div>
</li>
<li>
<div class="int" id="0">INT. DUNKIN' DONUTS - MORNING</div>
</li>
<li>
<div class="int" id="0">INT. DUNKIN' DONUTS - MORNING</div>
<li>
<div class="int" id="0">INT. DUNKIN' DONUTS - EARLY MORNING (FLASHBACK)</div>
</li>
<li>
<div class="int" id="0">INT. FUENTES RESIDENCE, KITCHEN - NIGHT (PRESENT)</div>
</li>
<li>

1 个答案:

答案 0 :(得分:3)

使用foreach并使用密钥作为您的ID:

if(preg_match_all($pattern, $contents, $matches))
{
    $row = 0;
    foreach($matches as $match)
    {
        echo "<div class='int' id='".$row."'>".implode("\n", $match)."</div>\n";
        $row++;
    }
}else{
       echo "No matches found";
}