[英]php echoing dynamic variable containing quotes
我有一個$ dcomment變量,需要執行以下操作:
echo '<div class="commentBox">' .
'<span class="byText">[BY]</span> ' .
'<span class="commenterName"><a href=" '.$webLink.' ">'.$dname.'</a></span>' .
' [DATE] ' . $dt . '</span>' . '<br>' .
'[COMMENT] ' . $dcomment .
$linkdel . '<br />' .
'</div>';
變量中可能包含引號,例如
$dcomment = "Stackoverflow's great"; // containing single quote in it ... etc
有沒有內置的php函數來解決這個問題,或者我該怎么做?
我認為您正在尋找htmlentities($str)
(單擊手冊頁)
它將替換所有適用於HTML實體的字符,因此您不必擔心在標記和屬性字段中會出現"
, <
和類似字符。
如果您還想轉義單引號'
,請使用
htmlentities($str, ENT_QUOTES)
(如文檔中所述)
您可以將所有引號替換為其HTML實體。 htmlentities
或str_replace
htmlentities
: http : //php.net/manual/zh/function.htmlentities.php
str_replace
: http : //php.net/manual/zh/function.str-replace.php
注意 :您需要將ENT_QUOTES
用於htmlentities
。
htmlentities($dcomment, ENT_QOUTES)
為了轉義在HTML上下文中使用的字符串,PHP提供了htmlspecialchars
函數。 它將用各自的HTML實體替換"
, '
, &
, <
和>
。
如果您需要轉義字符串以用作URL,則可以使用urlencode
和rawurlencode
函數。
有時有必要將兩者結合起來,即html-轉義urlencoded字符串。
好的,我這樣做了,並工作了:[我投票贊成在這里幫助過我的每個人,謝謝大家]
$name= mysql_real_escape_string($_POST['name']);
$emailAddress = mysql_real_escape_string($_POST['emailAddress']);
$webAddress = mysql_real_escape_string($_POST['webAddress']);
$comment=mysql_real_escape_string($_POST['comment']);
$submit=mysql_real_escape_string($_POST['submit']);
感謝@MightyPork :-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.