2017-07-06 56 views
0

呼應多個嵌套引用我試圖通過PHPPHP - HTML

echo "<a class='fa fa-ban fa-2x cancelClass' onClick='cancelClass('$id', '$formattedDate', '$time')'></a><p class='text-center'>".$formattedDate." @ $time</p>"; 

呼應HTML下面的一行我沒有得到一個錯誤。但onClick ='cancelClass ...的引號不能正確解析,導致javascript函數無法執行。

它是如何被彩色編碼在谷歌瀏覽器的源視圖

應該如何獲得彩色編碼(函數的例子) enter image description here

+0

PHP使單引號和雙引號有所不同。你可以嘗試在使用 –

+0

'"'一致的https://stackoverflow.com/questions/25916943/uses-for-the-quot-entity-in-html –

回答

2

將其更改爲以下

echo "<a class=\"fa fa-ban fa-2x cancelClass\" onClick=\"cancelClass('$id', '$formattedDate', '$time')\"></a><p class=\"text-center\">".$formattedDate." @ $time</p>"; 

轉義屬性雙引號你可以有一個標準化的HTML

+1

啊謝謝。忘記了反斜槓的救生力量。 –

1

你需要做的是這樣的:

echo "<a class='fa fa-ban fa-2x cancelClass' onClick=\"cancelClass('".$id."', '".$formattedDate."', '".$time."')\"></a><p class='text-center'>".$formattedDate." @ $time</p>"; 
1

他們得到正確解析,但是你所指定的那些錯誤的使用。 Javascript不能區分引用字符串變量和引用來包裝「onclick」值,它認爲onclick過早結束。

爲了區分他們,你必須逃避它們。在括號內使用\"

echo "<a class='fa fa-ban fa-2x cancelClass' onClick='cancelClass(\"$id\", \"$formattedDate\", \"$time\")'></a><p class='text-center'>".$formattedDate." @ $time</p>"; 

應該這樣做。

另外,不要使用echo整個字符串,只需輸出大部分是直接的:

?> //temporarily stop interpreting the file as PHP, so the next bit will be output directly as raw HTML 
<a class='fa fa-ban fa-2x cancelClass' onClick='cancelClass("<?php echo $id;?>", "<?php echo $formattedDate; ?>", "<?php echo $time;?>")'></a><p class='text-center'>".$formattedDate." @ $time</p> 
<?php //continue with PHP 
0

在HTML中使用雙引號。 使用帶有ENT_QUOTES的htmlspecialchars來轉義具有雙引號的值。

echo '<a class="fa fa-ban fa-2x cancelClass" onClick="'.htmlspecialchars("cancelClass('$id', '$formattedDate', '$time')", ENT_QUOTES). 
'"></a><p class="text-center">'.$formattedDate." @ $time</p>";