我该怎么逃?
它是一个简单的记录器功能。我想将数组加载到 DIV 内容中:
document.getElementById('layout').innerHTML = '<?php foreach ($logs as $item) { echo str_replace(array('"',"'"), array ('"','''), $item).'<hr />'; } ?>';
因为 $logs 可以包含 HTML 元素,但不能包含引号,因为它们会破坏回显。应该没问题,但是 Firefox 说“格式错误的 Unicode 字符序列”并且不显示。现在怎么办?
its a simple logger function. I want to load an array to a DIV content:
document.getElementById('layout').innerHTML = '<?php foreach ($logs as $item) { echo str_replace(array('"',"'"), array ('"','''), $item).'<hr />'; } ?>';
because $logs can contain HTML elements, but not quotes, since they would ruin the echoing. It should be OK, but Firefox say "malformed Unicode character sequence" and it doesnt displayed. Now what?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 html 实体 将 html 代码转换为安全序列
use html entities to translate your html code into safe sequencies
我可能是错的,但看起来您正在尝试使用 javascript 将 php 代码输入到您的页面中。 Javascript 是客户端,所以如果有的话,您将获得完整的代码,而不是解析的代码。
如果您希望预先运行 php,那么页面中的实际代码将是一个包含所有已解析内容的 javascript,您需要创建一个包含完成内容的字符串,并为 javascript 添加“'”明白了。
这可能看起来像这样(没有为您检查 foreach)
I might be wrong, but it looks like you're trying to enter php code into your page using javascript. Javascript is client side, so if anything, you will get the full code, not the parsed code.
If you want the php to be run beforehand, so the actual code in your page will be a javascript that has the allready-parsed contents in it, you neet to make a string that contains the finished content AND add "'" for javascript to understand it.
This might look like this (haven't checked the foreach for you)