首页 > 请教angularjs里ng-init里有单双引号造成解析错误的问题

请教angularjs里ng-init里有单双引号造成解析错误的问题

请教一个问题:ng-init初始化,我初始化一个问题的标题和描述,但是标题和描述里可能会出现单引号和双引号,结果最后就会因为解析问题报错。是这样
<?php $question_title = "'aaaa'bbb'" ?>
<div ng-init="question='<?php print $question_title; ?>'">
这种情况就完蛋了。请问有什么解决方案吗?(试过php的一些转义字符函数,似乎都无效)


http://blog.csdn.net/wusuopubupt/article...

http://php.net/htmlspecialchars


也可以使用 app.value(key, value)app.constant(key, value)

http://stackoverflow.com/questions/14523...

http://hellobug.github.io/blog/angularjs...


这个问题我也不太清楚,不过自己试了试,还是可以写出来的
1、用ng-init不是第一次见了,但是我认为这种定义变量的方式并不好,如果页面很长的话,难道要一行一行的看html来找你定义的那个变量?
2、在js中是允许单引号中有双引号的,如果你把这个变量保存在变量中(在controller中实现)可以轻易实现
例子:$scope.text = 'http:/localhost:"3000"/posts.json';
3、angularjs在ng-init中定义的变量确实是不允许有转义字符和单双引号的,暂时没想到方法,我再试试
补充:涉及到php我也不太懂了,貌似很多人都用ng-init
http://www.codesec.net/view/167161.html
讲到了转义字符

直接在HTML中打印出这类JSON要注意将引号和HTML特殊符号都进行HEX编码,PHP中的json_encode可以传入第二个参数,用于设置特殊字符的编码方式:
// JSON_HEX_TAG: 将 < 和 > 等符号编码为 \u003C 和 \u003E // JSON_HEX_APOS: 将单引号转换为 \u0027 // JSON_HEX_QUOT: 将双引号转换为 \u0022 <div class="reply-box" ng-init="memberData = % json_encode($member, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT) %"> // ... </div>

【热门文章】
【热门文章】