将数组从 php 发送到 html <li>

Send array from php to html <li>

我需要在 html

  • 中显示 arrayList 我如何将此变量与 php 中的所有文件一起发送到我的 html 列表。

    我这样试过,但我不知道哪里出了问题..:'(

    这是我的 php 代码:

    $directorioInicial = "./";    //Especifica el directorio a leer
    $rep = opendir($directorioInicial);    //Abrimos el directorio
    
    $listaHtml = array();
    
    while ($todosArchivos = readdir($rep)) {  //Leemos el arreglo de archivos     contenidos en el directorio: readdir recibe como parametro el directorio abierto
       if ($todosArchivos != '..' && $todosArchivos != '.' && $todosArchivos != '' && strpos($todosArchivos, '.html') && !is_dir($todosArchivos)) {
    
        $listaHtml[] = $todosArchivos;       
      }
    }
    
    foreach ($listaHtml as $i) {
    
    //    echo $i . "<br>";
    
    }
    

    这是我的 html 列表:

     <div class="propiedadesCaja" id="acordeon">
            <ul>
                <li class="listaPaginas">
    
                    <a class="listado" href="<?php echo $i; ?>" target="probando" ></a>  
    
                </li>
            </ul>
        </div>
    

    非常感谢。

  • 你最后的 foreach 循环应该将数据加载到一个变量,所有内容都包含在 div 中,然后在 <a> 中输出每次迭代的内容,因此

    echo '<div class="propiedadesCaja" id="acordeon">';
    foreach ($listaHtml as $i) {
    
       echo '<a class="listado" href="' . $i . '" target="probando" >' . $i . '</a>';
    
    }
    echo '</div>';
    

    请记住,如果您希望 link 实际显示,那么您需要在标签的开始和结束之间添加一些内容,除非您专门为它们设置样式,但在其中包含文件名是有意义的.

    您想将显示代码和 html 尽可能分开。并且您要确保转义任何 html 个字符。例如,

        $listItems = "";
        foreach ($listaHtml as $i)
        {
          $i = htmlentities($i);
          $listItems = $listItems."<li>$i</li>";
        }
    
        $listOutput = "<ul>$listItems</ul>";
    

    然后在您的模板中,只需

    <?php echo $listOutput; ?>
    

    您的 HTML 可以如下所示:

    <div class="propiedadesCaja" id="acordeon">
        <ul>
            <?php foreach($listaHtml as $i){ ?>
            <li class="listaPaginas">
                <a class="listado" href="<?php echo $i; ?>" target="probando">Text here</a>
            </li>
            <?php } ?>
        </ul>
    </div>