为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 在 html 中创建空白

PHP 在 html 中创建空白

PHP
幕布斯6054654 2023-07-08 16:30:05
  <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);
查看完整描述

3 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

将选项写在一行中。空白将会消失。

在多行中书写时创建空格是常见的行为。


查看完整回答
反对 回复 2023-07-08
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

我从来没有真正关心过我的源代码有多漂亮。如果您想完全控制源代码间距,那么一种方法是打印 php 标记内的每个选项并手动添加换行符 ( \n) 字符。\t如果您愿意,您甚至可以在每个选项标签之前添加一个制表符 ( )。

如果您的值实际上确实有多余的前导和尾随空格,那么只需使用trim(),但我并不完全相信情况确实如此。

不要将过程语法与面向对象的 mysqli 语法混合在一起。我建议您继续使用面向对象,它更简洁且更易于使用。

mysqli 结果是一个可迭代对象——您不需要不断调用 fetch 函数。

仅从数据库中准确选择您想要使用的内容。

代码:(演示

<select id="selectedCountry">

    <?php

    if ($result = $conn->query("SELECT country_code, country_name FROM countries")) {

        foreach ($result as $row) {

            printf(

                "\t<option value=\"%s\">%s</option>\n", 

                trim(htmlentities($row['country_code'])), 

                trim(htmlentities($row['country_name']))

            );

        }

    }

    ?>

</select>


查看完整回答
反对 回复 2023-07-08
?
繁星coding

TA贡献1797条经验 获得超4个赞

那么你可以使用 php 本机函数删除那些不需要的空格preg_replace('/\s+/', '', $row2['country_name']);


这是完整的代码 $row2['country_name']


<select id="selectedCountry">

<?php

    /*FETCH COUNTRY*/

    $sql2 = "SELECT * FROM countries";

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

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

            //Clear the data from html and remove unwante scape

            $countryName = preg_replace('/\s+/', ' ', strip_tags($row2['country_code']));

            ?>               

                <option value="<?php echo $countryName; ?>">

                    <?php echo $countryName; ?>

                </option>>

            <?php

        }

    }


?>

</select>

希望这有帮助!


查看完整回答
反对 回复 2023-07-08
  • 3 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信