我有一个简单的问题。
<a href="#/media/<?php echo $row['id'] ?>.<?php echo $row['news_title'] ?>">Read More</a>
基本上,一旦我点击“阅读更多”,它就会显示我的网址。我添加了
.<?php echo $row['news_title'] ?>
在">
之前
基本上,它会显示ID.THE-TITLE-HERE
然而,它不起作用,当我在“。”之后手动添加文章的网址中的“ - ”时它确实有效,但它不起作用。
如果你去http://www.krissales.com/#/media/blog
,你会明白我的意思点击“阅读更多”并且它不会显示任何内容,但如果在“测试”和“2”之间添加“ - ”,它将起作用。
有谁知道如何解决这个问题?告诉我我能做什么,我想在做的同时学习。
完整的.php页面位于krissales.com/blog.txt
感谢您的时间。
答案 0 :(得分:2)
更改
echo $row['news_title']
要
echo str_replace(" ","-",$row['news_title']);
这将用连字符
替换空白区域答案 1 :(得分:2)
我注意到有人在我输入时给出了简单的答案,但我认为我的答案会帮助你进一步理解。
首先是测试:
问题可能在于如何处理哈希标记等。
首先,根据我所知,你可以通过多种方式实现它:
而不是:
<?php echo $row['news_title'] ?>
你可以用
<?php echo urlencode($row['news_title']) ?>
这将确保没有使用空间。
如果您更喜欢用破折号替换空格,那么您可以使用str_replace()函数(http://www.php.net/str_replace),如下所示:
<?php echo str_replace(' ', '-', $row['news_title']); ?>
这样可行,但是,我觉得这不能解决核心问题,这可能是你处理调用的地方(你的/_lib/_js/core.js文件中的代码)等。
P.S。您需要确保转义URL变量,HTML内容等。 - 请参阅PHP urlencode(),htmlspecialchars()中的这些函数 - 但如果您使用其他语言(如javascript)构建代码,则应用相同的逻辑。这可能会以某种方式隐藏代码中的核心问题以及如何处理URL等。它是软件开发中多个问题的根源。 ; - )
答案 2 :(得分:1)
如果$row['id']
为99且$row['news_title']
为“标题”,则以下代码将使用str_replace
输出“99.-title”。
<a href="#/media/<?php echo $row['id'] ?>.<?php echo str_replace(" ", "-", $row['news_title']); ?>">Read More</a>