使用NodeJS和JSDOM/jQuery从代码片段构建PHP页面
我正在使用现成的代码片段创建一个PHP页面,并使用JSDOM/jQuery修改页面。例如,我有以下代码:使用NodeJS和JSDOM/jQuery从代码片段构建PHP页面,php,jquery,html,node.js,jsdom,Php,Jquery,Html,Node.js,Jsdom,我正在使用现成的代码片段创建一个PHP页面,并使用JSDOM/jQuery修改页面。例如,我有以下代码: window.$('title').text('<?php wp_title(); ?>'); 变成这样: <title><?php wp_title(); ?> 以最简单的形式 因此,这样我就可以使我的模板易于修改,使用起来又漂亮又愉快。如果您不希望内容被转义,请使用html方法 window.$('title').html('<?php
window.$('title').text('<?php wp_title(); ?>');
变成这样:
<title><?php wp_title(); ?>
以最简单的形式
因此,这样我就可以使我的模板易于修改,使用起来又漂亮又愉快。如果您不希望内容被转义,请使用html方法
window.$('title').html('<?php wp_title(); ?>');
window.$('title').html(“”);
但是要小心,你的标题不包含新行或引用。这就是为什么我更喜欢使用
// Using the version of wp_title that returns something instead of printing
// directly to the output
window.$('title').html(<?php echo json_encode(wp_title('', true)); ?>);
//使用返回内容而不是打印的wp_title版本
//直接输出
window.$('title').html();
为什么
周围没有引号?我的IDE将其突出显示为语法错误,无法工作。是的,第二个答案似乎是错误的。与大多数javascript/php问题不同,在这一个问题中,javascript生成的是php,而不是相反@SergeyBasharov没有引号,因为这是json_encode为您所做的,它生成一个在JS中有效的字符串(如果您传递一个字符串)。它将输出与第一个完全相同的内容,正如我前面所说的,如果wp\u title()
返回一个包含引号或嵌入的换行符或其他需要的字符的字符串,它将不会中断escaping@Eric如果OP试图让JS运行一些PHP,那么这两个答案都是错误的,并且没有办法让它工作。我假设OP不想这样做,他们只想在JS中使用PHP生成的内容。谢尔盖,你能解释一下吗?DOM操作不能真正处理生成PHP -考虑<代码>请解释NodeJS和phpBaseCy之间的交互,你使用jQuery上的<代码>文本>代码>函数,它破坏了所有的<代码> <代码和代码> <代码>,因为那些是HTML,你应该尝试使用<代码> .html 。tbh我认为如果您只是为此创建了一个Jade扩展就更好了(如果可能的话,只需使用Jade引擎)
window.$('title').html('<?php wp_title(); ?>');
// Using the version of wp_title that returns something instead of printing
// directly to the output
window.$('title').html(<?php echo json_encode(wp_title('', true)); ?>);