Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用NodeJS和JSDOM/jQuery从代码片段构建PHP页面_Php_Jquery_Html_Node.js_Jsdom - Fatal编程技术网

使用NodeJS和JSDOM/jQuery从代码片段构建PHP页面

使用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

我正在使用现成的代码片段创建一个PHP页面,并使用JSDOM/jQuery修改页面。例如,我有以下代码:

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)); ?>);