[英]Echoing an image link breaks my code
我正在使用用戶蛋糕生成指向不同權限的鏈接。
如果我想要超鏈接,一切都可以正常工作,我在圖像中添加了一個位,它破壞了代碼,它將加載,但整個地址欄都像沒有權限一樣。
之前:
//Links for permission level 3 (xx)
if ($loggedInUser->checkPermission(array(3))){
echo "<div id='xx'>
<ul>
<li><a href='xx.php'>xxx</a></li>
</ul></br ></div>";
}
后
//Links for permission level 3 (xx)
if ($loggedInUser->checkPermission(array(3))){
echo "<div id='xx'>
<ul>
<li><a href="xxx.php"><img src="xx"></a></li>
</ul></br ></div>";
}
它只是使菜單欄消失。
有任何想法嗎? 我是否缺少明顯的東西?
--update是因為我沒有正確逃脫嗎?
"
字符將終止字符串常量,如果你不使用連接運算符跟着他們(無論是.
或者,
),你的代碼將拋出一個語法錯誤。
您需要使用\\
進行轉義:
if ($loggedInUser->checkPermission(array(3))){
echo "<div id='xx'>
<ul>
<li><a href=\"xxx.php\"><img src=\"xx\"></a></li>
</ul></br ></div>";
}
失敗的話,因為您沒有在字符串中輸出任何變量,所以可以使用'
(單引號)來開始和終止文字,這意味着您不必在其中轉義雙引號。 例如:
if ($loggedInUser->checkPermission(array(3))){
echo '<div id="xx">
<ul>
<li><a href="xxx.php"><img src="xx"></a></li>
</ul></br ></div>';
}
從帖子中突出顯示的語法可以看出,雙引號/單引號存在問題。
您的代碼應如下所示:
//Links for permission level 3 (xx)
if ($loggedInUser->checkPermission(array(3))){
echo "<div id='xx'>
<ul>
<li><a href='xxx.php'><img src='xx'></a></li>
</ul></br ></div>";
}
您的外部引號應保持雙引號,但字符串中的所有引號應為單引號。 這也很有意義,因為您希望保持代碼的一致性。 如果您在字符串中使用了單引號,則除非您絕對必須使用雙引號,否則請保留該單引號,在這種情況下,可以轉義引號:
<li><a href=\"xxx.php\"><img src=\"xx\"></a></li>
只需關閉然后重新打開PHP標記。 盡量將HTML與代碼分開。.它更干凈,更高效;)
根據文檔其余部分的結構,您可能會受益於PHP中可用的控制結構替代語法 (我建議在這種情況下使用)
//Links for permission level 3 (xx)
if ($loggedInUser->checkPermission(array(3))) :
?>
<div id='xx'>
<ul>
<li><a href='xxx.php'><img src='xx'></a></li>
</ul>
</div>
<?php endif;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.