2012-11-08 58 views
1

我有一個簡單的問題。PHP URL配置

<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

那麼,根據需要用'-'替換'$ row ['news_title']'中的空格....內容現在不是'ID.THE-TITLE-HERE',而是'ID .Title Here' – Wrikken

+0

爲什麼不使用str_replace()在$ row ['news_title']中添加「 - 」? –

回答

1

如果$row['id']是99和$row['news_title']是 「標題」 白色空間,然後將下面的代碼將使用str_replace輸出「99.The標題」。

<a href="#/media/<?php echo $row['id'] ?>.<?php echo str_replace(" ", "-", $row['news_title']); ?>">Read More</a> 
+0

非常感謝你們,我已經閱讀了你所說的所有內容,我仍在學習,但是我明白你的所作所爲。 – TrippedStackers

2

變化

echo $row['news_title'] 

echo str_replace(" ","-",$row['news_title']); 

這將替換連字符

2

我注意到有人在我打字時給出了簡單的答案,但我想我的答案會幫助你進一步理解。

首先測試:

  • 「http://www.krissales.com/media/3」 作品
  • 「http://www.krissales.com/#/media/3」作品
  • 「http://www.krissales.com/#/media/3.Testing 3」不起作用。
  • 「http://www.krissales.com/#/media/3.Testing-3」的作品。
  • 「http://www.krissales.com/#/media/3.Testing%203」的作品(%20是一個空格的URL編碼等效物)。

問題可能是你如何處理散列標籤等。

首先,我所知道的,你能得到它的工作原理多渠道:

  1. 相反的: <?php echo $row['news_title'] ?> 你可以使用 <?php echo urlencode($row['news_title']) ?> 這將確保沒有使用的空間。

  2. 如果你喜歡更換儀表板空間,那麼你可以使用str_replace()函數功能(http://www.php.net/str_replace)是這樣的: <?php echo str_replace(' ', '-', $row['news_title']); ?>

這將工作但是,我並不認爲這可以解決核心問題,這可能是您處理呼叫的地方(/_lib/_js/core.js文件中的代碼)等。

PS你需要確保你轉義URL變量,HTML內容等。 - 在PHP urlencode(),htmlspecialchars()中看到這些函數 - 但是如果你使用其他語言(比如javascript)構建代碼,則適用相同的邏輯。這可能以某種方式隱藏了代碼中的核心問題,即如何處理URL等。這是軟件開發中多個問題的根源。 ;-)