所以,我有这个rel / URL我试图填充变量,所以我可以在其他地方打印出来:
$relnext = "<link rel='next'
href='javascript:".$content_pager->PagerName
. "_form."
. $content_pager->PagerName
. "PagerPage.value=\""
. $content_pager->Page+1
. "\"; "
. $content_pager->PagerName
. "DoSubmit();' />";
实际上,当我打印出来时,我得到的只是:
1“; MediaBoxContentDoSubmit();' /&GT;
经过一些研究后,似乎“我应该使用htmlentities,但是:
echo htmlentities($relnext);
也只是产生:
1"; MediaBoxContentDoSubmit();' />
这里应该使用其他功能吗?
非常感谢您提供的任何帮助!
答案 0 :(得分:1)
您有运营商优先/关联问题。 .
运算符左侧的+
运算符在+
运算符之前执行,因为它们都是左关联的并且具有相同的优先级。您希望+
运算符(在$content_pager->Page+1
中)先执行,然后执行所有.
运算符。
实际上,您正在使用+
运算符向数字(1)添加字符串,在这种情况下,字符串(+
之前的所有内容)将被视为0.这是为什么第一个字符是1
,因为它是"some string"+1
的结果,被解释为0+1
。
所以,你的第一个片段应该是:
$relnext = "<link rel='next' href='javascript: " . $content_pager->PagerName . "_form." . $content_pager->PagerName . "PagerPage.value=\"" . ($content_pager->Page+1) . "\"; " . $content_pager->PagerName . "DoSubmit();' />";
请注意,$content_pager->Page+1
部分现在位于括号中。
更多信息: