html实体和角度支撑问题

时间:2013-08-31 06:01:00

标签: php html-entities

所以,我有这个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();' />

这里应该使用其他功能吗?

非常感谢您提供的任何帮助!

1 个答案:

答案 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部分现在位于括号中。

更多信息: