php中html中的引号问题

php中html中的引号问题,php,html,Php,Html,我正试图生成一个特定的链接和附带的html依赖于文件的存在。我使用的代码是: if(file_exists('../images/'. $pk . '.jpg')) { $imageSrc = "../images/". $pk . ".jpg"; $imagehtml = htmlentities(json_encode("<img src=\"".$imageSrc."\" >")); $screenshotLink = "<p>&l

我正试图生成一个特定的链接和附带的html依赖于文件的存在。我使用的代码是:

if(file_exists('../images/'. $pk . '.jpg'))
    {
    $imageSrc = "../images/". $pk . ".jpg";
    $imagehtml = htmlentities(json_encode("<img src=\"".$imageSrc."\" >"));
    $screenshotLink =  "<p><a href=\"#\" onclick=\"makewindows(\"$imagehtml\"); return false;\">View Screenshot</a>";
       } 
else {
    $screenshotLink = '';
     }
这会产生以下无用的html:

<a href="#" onclick="makewindows(" &quot;&lt;img="" src="%5C%22..%5C/images%5C/160329461329.jpg%5C%22" &gt;&quot;="" );="" return="" false;="">View Screenshot</a>
我不理解这一点,因为上面的代码本质上与以下代码相同:

$html = htmlentities(json_encode($ARTICLE_DESC));

$imagehtml = htmlentities(json_encode("<img src='".$imageSrc."' >"));

echo "<a href='#' onclick=\"makewindows(" . $imagehtml . "); return false;\">

<img src='".$imageSrc."' width='".$imageSize["width"]."' height='".$imageSize["height"]."'></a>

<p><a href='#' onclick=\"makewindows(" . $html . "); return false;\">Click for full description </a></p>";
生成以下html,工作正常:

<a href="#" onclick='makewindows("<img src=\"..\/images\/160329461329.jpg\" >"); return false;'>
<img src="../images/160329461329.jpg" width="199" height="300"></a>
我知道这与引号有关,但我不确定具体是什么。

试试这个:

$imagehtml = htmlspecialchars(json_encode("<img src=\"".$imageSrc."\" >"), ENT_QUOTES);
$screenshotLink =  "<p><a href=\"#\" onclick=\"makewindows($imagehtml); return false;\">View Screenshot</a>";
试试这个:

$imagehtml = htmlspecialchars(json_encode("<img src=\"".$imageSrc."\" >"), ENT_QUOTES);
$screenshotLink =  "<p><a href=\"#\" onclick=\"makewindows($imagehtml); return false;\">View Screenshot</a>";

在php手册中查找ENT_NOQUOTES参数


还有htmlspecialchars!=htmlentities顺便说一句。

在php手册中查找ENT\u NOQUOTES参数

$imagehtml = htmlspecialchars(json_encode('<img src="'.$imageSrc.'" >'), ENT_QUOTES);
$screenshotLink = '<p><a href="#" onclick="makewindows($imagehtml); return false;">View Screenshot</a>';
还有htmlspecialchars!=顺便说一句

$imagehtml = htmlspecialchars(json_encode('<img src="'.$imageSrc.'" >'), ENT_QUOTES);
$screenshotLink = '<p><a href="#" onclick="makewindows($imagehtml); return false;">View Screenshot</a>';
为什么不用蜱


为什么不使用勾号?

为什么在工作时更改引号?为什么我的尝试失败了呢?现在它概括了这样一个问题:为什么在你工作的时候改变引号?为什么我的尝试失败了?现在出现了这样的情况: