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
将PHP字符串(html源代码)转换为jQuery对象美元符号$?_Php_Jquery_Json_Jquery Selectors_Encode - Fatal编程技术网

将PHP字符串(html源代码)转换为jQuery对象美元符号$?

将PHP字符串(html源代码)转换为jQuery对象美元符号$?,php,jquery,json,jquery-selectors,encode,Php,Jquery,Json,Jquery Selectors,Encode,假设我有一个完整的html页面源字符串(PHP),如: 那么如何将PHP字符串转换为jQuery美元符号$ 注意: 这是因为我的情况是。。。我有一个数据库包含完整的html网页源代码。然后我必须解析出它们,但不是整个页面的全部。一些DOM过滤区域。就像“右面板”中的那个页面源代码一样。这就是问题所在。尝试使用Zend framework/library的部分。它理解大多数CSS2,当需要更强大的xpath时,您可以随时使用xpath 如果你想拥有更像JQuery的外观,你也可以试试这个项目。首先

假设我有一个完整的html页面源字符串(PHP),如:

那么如何将PHP字符串转换为jQuery美元符号
$

注意

这是因为我的情况是。。。我有一个数据库包含完整的html网页源代码。然后我必须解析出它们,但不是整个页面的全部。一些DOM过滤区域。就像“右面板”中的那个页面源代码一样。这就是问题所在。

尝试使用Zend framework/library的部分。它理解大多数CSS2,当需要更强大的xpath时,您可以随时使用xpath


如果你想拥有更像JQuery的外观,你也可以试试这个项目。

首先,让字符串JavaScript安全。给定一个字符串,
json\u encode
将使其成为JS安全的(尽管不是json)

然后可以将其输出到HTML中的脚本块中,并将其传递给jQuery函数

<script>
var foo = $(<?php echo json_encode($html_source); ?>);
</script>

var foo=$();

如果您需要html部分,或者如果您需要用php处理此部分,那么可以使用php dom文档扩展。

试试这个

<script>
     var myStr = $(<?php echo $html_source; ?>);
</script>

var myStr=$();

您不能在客户端的脚本中使用PHP变量,它会输出到服务器端的浏览器中,然后就消失了。对于PHP和jQuery的不同角色,您似乎有点困惑。PHP是服务器端的,在jQuery进入游戏之前很久就会发生。jQuery是客户端的。两者没有关系,因此不存在从一个转换到另一个的问题。PHP只能向客户端输出一个字符串,然后jQuery就可以提取并处理这个字符串。只需考虑所有可能的情况,比如我,我有一个包含HTML页面源的数据库。然后我必须解析它们,但不是整个页面。一些DOM过滤区域。比如那个页面源的“右面板”。那么你会怎么做呢?这取决于你是想在客户端还是服务器上处理DOM。你说的是jQuery,所以我假设是前者。在这种情况下,PHP不能直接与jQuery对话——它只能输出到jQuery。如果在服务器端,PHP有自己的DOM遍历/操作功能,请参阅DOMDocument的文档。通过更新,您可能会在服务器端执行此操作,以避免发送不必要的数据和在两端浪费带宽。Hmmm。。看起来很有用。但这是最后一条路。我不能直接使用as
jQuery
?没有用php编写的Javascript虚拟机(至少我不知道),我想你可以用fork()启动一个或一个虚拟机,但这可能是个坏主意,仍然不能解决从虚拟机获取数据的问题。这是因为我的情况是。。我有一个数据库包含完整的html网页源代码。然后我必须解析出它们,但不是整个页面的全部。一些DOM过滤区域。就像“右面板”中的那个页面源代码一样。这就是问题所在。除了使用dom文档之外,还有一件事是,当您使用dom文档时,html必须是纯XHTML的,而不是可能的?如何像jQuery一样进行解析?在这种正常情况下会是什么样子:
$('div.class2).html
使用上下文选择器
$('div.class1',foo.html()
或更明确的:
foo.find('div.class2').html()
hmmm..ya它可以工作,但不能像
$
那样直接工作。因此,它意味着只有
.find
方法可以工作。没有它就无法工作。:t
<script>
var foo = $(<?php echo json_encode($html_source); ?>);
</script>
<script>
     var myStr = $(<?php echo $html_source; ?>);
</script>