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


Transform PHP String (of html source) into jQuery Object Dollar Sign $?

假设我有一个完整的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>