2013-08-07 65 views
0

好的,我使用PHP來解析XML文件並將其顯示爲HTML。這是代碼。 示例文本是 - 不要放棄!PHP將變量傳遞給隱藏字段

$xml = simplexml_load_file('data/quotes.xml'); 
      foreach ($xml as $quote) { 
       $text = $quote->text; 
       echo '<div class="itemWrapper">'. 
          '<div class="quoteHolder">'. 
            '<p class="quote">'.$text.'</p>'. 
          '</div>'. 

          '<form class="selectionButtons">'. 
            "<input type='hidden' value='$text' name='quote'>". 
            '<input class="submitButton" type="button" value="create your design">'. 
          '</form>'. 
        '</div>'; 
      } 

所以,當我在段落使用$文本變量它顯示的正確,但是,當我把它傳遞給表單的隱藏字段我只得到:唐(所以它是單引號前右停止)它發生的每帶引號的文本。這是爲什麼?這裏有什麼問題?

+0

你需要轉義報價 – 2013-08-07 02:31:32

+0

我試圖逃避XML文件中的引用,但這沒有任何區別。爲什麼它會在HTML段落中顯示全文? –

+0

嘗試像這樣'addslashes($ text);' – meda

回答

1

嘗試使用這一個...

$this_text = "Don't give up!"; 
$text = htmlspecialchars($this_text, ENT_QUOTES); 

echo "<input type='text' value='$text' />"; 

我在已經測試..

+0

謝謝,在看到你的答案之前就明白了這一點。無論如何,接受它作爲工作代碼。再次感謝 –

1

HTML input字段要求內容被轉義。方便的是,PHP有一個函數,它所有的工作對您:

$display_text = "Don't give up!"; 
$input_text = htmlspecialchars($text); 

Reference

+0

經過一些修改,但有效。這裏是工作代碼 - $ input_text = htmlspecialchars($ text,ENT_QUOTES); –

相關問題