假设我有一个完整的html页面源字符串(在PHP中),比如:
<?php
$html_source = '
<html>
<head>
</head>
<body>
<div class="class1">Hello!</div>
<div class="class2">World</div>
</body>
</html>'; //PHP
?>
然后,我想将该php字符串用作jQuery $
对象,以实现如下用途:
alert(
$("div.class1").html(); //jQuery
);
那么,如何将PHP字符串转换为jQuery美元符号$
呢?
注意:
这是因为我的情况是…我有一个数据库包含完整的html页面源。然后我必须把它们解析出来,但不是整页的全部。一些DOM过滤区域。比如,"右侧面板"里面的那个页面源。这就是问题所在。
首先,确保字符串JavaScript的安全。给定一个字符串,json_encode
将使其成为JS安全的(尽管不是JSON)。
然后,您可以将其输出到HTML中的脚本块中,并将其传递给jQuery函数。
<script>
var foo = $(<?php echo json_encode($html_source); ?>);
</script>
尝试使用Zend框架/库的Zend_Dom_Query部分。它理解CSS2的大部分内容,当您需要更强大的功能时,您总是可以回到xpath。
如果您想拥有更像JQuery的外观,也可以尝试phpquery项目。
如果您需要html部分,或者如果您需要用php处理,则可以使用php-dom文档扩展。
尝试这个
<script>
var myStr = $(<?php echo $html_source; ?>);
</script>