字符串在 PHP 中无法正确连接



我有一个循环运行在一个PHP脚本中,该脚本是.inc.PHP的一部分(它是一个从.txt文件读取的头,这样它就可以从.txt文件中的信息添加到导航栏中)。例如,在.txt中可以是:

关于

联系

支持

它逐行读取文本文件,并将每一行作为字符串返回,然后在导航栏中作为链接进行回显。无论出于何种原因,about和contact链接都没有".php"扩展名,但support链接有。无论在.txt文件中放入什么,它的最后一行都会得到扩展名,而其他行则不会。我在回应声明中反复引用了一些引文,但都无济于事。关于我该怎么解决这个问题,有什么想法吗?

<?php
    if (file_exists("pagespage.txt")) {
       $newFile = fopen('pagespage.txt', 'r');
       while (! feof($newFile)) {
           $pagename = fgets($newFile);
           $pagenamecap = ucwords($pagename);
           echo "<li><a class=button href=" . "$pagename.php>" . $pagenamecap . "</a></li>";
        }
    }
    ?>

您呈现的HTML如下所示:

<li><a class=button href=contact
.php>Contact
</a></li>

你明白为什么这可能是个问题吗?

首先,在你的属性周围加引号。第二,trim你的字符串。

$pagename = trim(fgets($newFile));
$pagenamecap = ucfirst($pagename);
echo '<li><a class="button" href="'.$pagename.'.php">'.$pagenamecap.'</a></li>';

("Support"没有这个问题,因为它是文件中的最后一行,因此它的末尾没有换行符)

您的链接结构不正确。您需要在href周围加引号。你不需要从回声中出来进行连接。

echo "<li><a class=button href='$pagename.php'>$pagenamecap </a></li>";

您可以在变量名周围使用大括号{},以确保它不会与任何其他单词混合:

echo "<li><a class=button href='{$pagename}.php'>{$pagenamecap} </a></li>";

相关内容

  • 没有找到相关文章

最新更新