2017-08-20 51 views
-1

我通過PHP echo函數動態生成佔位符的字符串&如果我不在PHP標籤周圍添加引號,則輸出只接收字符串的第一個字。爲什麼這樣?爲什麼echo的輸出需要分別放在輸入字段中佔位符字符串的引號中?

  1. placeholder=<?php echo "Hello World"?>
    它只輸出你好在輸入字段
  2. placeholder="<?php echo "Hello World"?>"(約PHP標籤注引號)
    它輸出的Hello World在輸入欄。

對於輸入字段的值屬性也會發生同樣的情況。

+0

我想'placeholder =「<?php echo」Hello World「?>」'這會返回錯誤。因爲你不是逃避'「' –

+0

不,這是不會給任何錯誤。正如@MinistryOfChaps也告訴下面,回聲的輸出不包含任何引號 –

+0

我在談論關於PHP文件。嘗試你的第二個例子我完全在PHP中。它會拋出語法錯誤 –

回答

0

這是由於placeholder屬性是如何構建的。

您應該符合將您的價值放在引號之間的標準(參見this example作爲證明)。

如果您希望爲您的值添加空格,它需要將值放在引號之間。

所以當你想象一下:

<input type="text" placeholder=Hello World > 

它讀取「你好」,因爲它的值,然後HTML認爲「世界」爲:

<input type="text" placeholder=<?php echo "Hello World"?> > 

您在HTML文件返回此另一個屬性。這就是爲什麼你需要把你的價值放在引號之間來表示整個字符串是屬於placeholder屬性的。

+0

所以不輸出爲「Hello World」(帶雙引號)作爲echo的輸出是一個字符串&字符串應該在雙引號之間? –

+0

@NishantGarg'echo'一個字符串時,它只輸出引號之間的內容,而不是引號本身。這就是爲什麼你必須在HTML引號中用引號封裝你的PHP回聲(就像你用'placeholder =「<?php echo」Hello World「>」''做的那樣)。嘗試在單獨的PHP文件中回顯Hello World,您會看到文本週圍沒有引號。 – MinistryofChaps

0

注意,對於第一種情況,渲染將輸出

placeholder=hello world 

一樣,有沒有引號,它會考慮的第一個字是一個佔位符的值(但它是一個不好的做法)。 第二種情況是好的,因爲它有引文

placeholder="hello world" 

所以,你需要關心你的輸出會如何。

0

對於第一種情況 placeholder=<?php echo "Hello World"?> 將只輸出它像這樣 placeholder=Hello World 這是不是一個有效的HTML格式 但第二個 placeholder="<?php echo "Hello World"?>" 在這裏輸入的代碼將輸出 placeholder="Hello World" 有效期所以總是走與第二個。

如果您只是呼應的字符串,你可以那樣做 <?="hello world" ?>