PHP 在 html 中创建空白

  <select id="selectedCountry">

<?php


        /*FETCH COUNTRY*/

        $sql2 = "SELECT * FROM countries";

        if($result2 = $conn -> query($sql2)) {

            while($row2 = mysqli_fetch_assoc($result2)) {

                ?>

                

                    <option value="<?php echo strip_tags($row2['country_code']); ?>">

                        <?php echo strip_tags($row2['country_name']); ?>

                    </option>>


                <?php

            }

        }


?>

</select>

while 循环内部有空行和空白。我将该选项写在多行中,以使其看起来更好,但它输出了空白。


这是通常发生的情况吗?如果不是,那么是什么原因导致了这个问题呢?


当我 console.log 选定的国家/地区名称时,它包含空格。


$( document ).ready(function() {

var s = $("#selectedCountry" ).find(":selected").text();

console.log(s);

幕布斯6054654
浏览 188回答 3
3回答

德玛西亚99

将选项写在一行中。空白将会消失。在多行中书写时创建空格是常见的行为。

30秒到达战场

我从来没有真正关心过我的源代码有多漂亮。如果您想完全控制源代码间距,那么一种方法是打印 php 标记内的每个选项并手动添加换行符 (&nbsp;\n) 字符。\t如果您愿意,您甚至可以在每个选项标签之前添加一个制表符 ( )。如果您的值实际上确实有多余的前导和尾随空格,那么只需使用trim(),但我并不完全相信情况确实如此。不要将过程语法与面向对象的 mysqli 语法混合在一起。我建议您继续使用面向对象,它更简洁且更易于使用。mysqli 结果是一个可迭代对象——您不需要不断调用 fetch 函数。仅从数据库中准确选择您想要使用的内容。代码:(演示)<select id="selectedCountry">&nbsp; &nbsp; <?php&nbsp; &nbsp; if ($result = $conn->query("SELECT country_code, country_name FROM countries")) {&nbsp; &nbsp; &nbsp; &nbsp; foreach ($result as $row) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printf(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "\t<option value=\"%s\">%s</option>\n",&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; trim(htmlentities($row['country_code'])),&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; trim(htmlentities($row['country_name']))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp; ?></select>

繁星coding

那么你可以使用 php 本机函数删除那些不需要的空格preg_replace('/\s+/', '', $row2['country_name']);这是完整的代码 $row2['country_name']<select id="selectedCountry"><?php&nbsp; &nbsp; /*FETCH COUNTRY*/&nbsp; &nbsp; $sql2 = "SELECT * FROM countries";&nbsp; &nbsp; if($result2 = $conn -> query($sql2)) {&nbsp; &nbsp; &nbsp; &nbsp; while($row2 = mysqli_fetch_assoc($result2)) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //Clear the data from html and remove unwante scape&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $countryName = preg_replace('/\s+/', ' ', strip_tags($row2['country_code']));&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ?>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <option value="<?php echo $countryName; ?>">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <?php echo $countryName; ?>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </option>>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <?php&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }?></select>希望这有帮助!
打开App,查看更多内容
随时随地看视频慕课网APP