**此行无法正常工作/ r工作但$ siteurl /%s-%s.html无法工作我认为(“”)或('')的问题请帮我修复
printf("<a href='/r?%s' target=_blank onClick='window.open(location.href=$siteurl/%s-%s.html)>", $wurl, $myrow["wallpaperid"], $myrow["wallpapername"]);
答案 0 :(得分:4)
不要在双引号内使用双引号(除非你正确地转义它们):
<a onclick="location.href='http://google.com'">Click Me</a>
请注意我在双引号中如何使用单引号。这使声明不会过早地被放弃。
你也可以这样写:
<a onclick="location.href=\"http://google.com\"">Click Me</a>
但这使得它的可读性稍差。
答案 1 :(得分:1)
您的onClick属性错过了尾随的单引号。这是我认为的应该是:
printf("<a href='/r?%s' target=_blank onClick='window.open(location.href=$siteurl/%s-%s.html)'>", $wurl, $myrow["wallpaperid"], $myrow["wallpapername"]);
BTW:我很难读到这一行。考虑缩进代码以使其具有人类可读性。此外,我建议您在使用printf时不要使用变量替换(字符串中的$ siteurl var)。我的意思是,使用相同的机制来做同样的事情。要么只使用var替换,要么只使用printf formattng,而不是两者都使用。例如:
$html = '
<a href="/r?%s"
target=_blank
onClick="window.open(location.href=%s/%s-%s.html)"
>
';
printf($html, $wurl, $siteurl, $myrow["wallpaperid"], $myrow["wallpapername"]);
答案 2 :(得分:0)
你在.html之后缺少一个引号。
尝试:
printf("<a href='/r?%s' target=_blank onClick='window.open(location.href=$siteurl/%s-%s.html)'>", $wurl, $myrow["wallpaperid"], $myrow["wallpapername"]);