繁体   English   中英

jQuery解析字符串中的HTML

[英]Jquery to parse HTML in a string

我尝试搜索相关帖子,并且很难弄清楚该如何解决我的查询-我非常接近,任何帮助都非常感谢(Jquery的新功能)。

我使用PHP进行编程,并尝试从标记或文本中提取HREF值。 两者都会起作用。

我基本上将我的HTML代码放在一个字符串中,可能包含多个标签,并想将标签的文本加载到PHP数组或变量中(现在只是尝试警告结果,以后可以将其转储)。

我的PHP代码:

<?php
$info = '<li><strong><a href="http://www.mysite.com/test.html" title="Some stuff">I want this text</a></strong>';

echo '<script type="text/javascript">';
echo '$("document").ready( function () {';
echo 'alert($("a", $("' . $info . '")).html());';
echo '});';
echo '</script>';
?>

上面没有任何提示。 放入

echo 'alert("yes")'; 

确实有效,所以我猜我的语法有一些基本错误,但是4小时后仍然找不到它! :)

提前致谢。

您不是用Javascript将字符串中的引号引起来。

您的代码创建的Javascript看起来像

$("<li>...<a href="http..."...")

属性中的引号将Javascript字符串结尾,从而产生语法错误。

您需要调用json_encode

SLaks剩下您的问题。 但是,它不是:

$("document").ready();

它的:

$(document).ready();

前者是名为<document>的标签的选择器。

这应该按照您希望的方式工作:

<?php
$info = '<li><strong><a href="http://www.mysite.com/test.html" title="Some stuff">I want this text</a></strong></li>';
?>

<script type="text/javascript">
    $(document).ready( function () {
        alert($("a", $("<?php echo $info; ?>")).html());
    });
</script>

您没有关闭li标签

$info = '<li><strong><a href="http://www.mysite.com/test.html" title="Some stuff">I want this text</a></strong>';

应该

$info = '<li><strong><a href="http://www.mysite.com/test.html" title="Some stuff">I want this text</a></strong></li>';

您应该转义信息。 它之所以中断,是因为您在双引号内有双引号:

$info = addslashes($info);

要么

$info = json_encode($info);

要不就

$info = str_replace('"', '\\"');

尝试先保存HTML是JS变量,然后再使用它。 另外,heredocs是您的朋友。

<?php
$info = '<li><strong><a href="http://www.mysite.com/test.html" title="Some stuff">I want this text</a></strong></li>';

echo <<<END
<script type="text/javascript">
$(function(){
  var HTML = '$info';
  alert($('a', $(HTML)).html());
});
</script>
END;
?>
echo '<script type="text/javascript">
    $(document).ready( function () {
        var info = \''.$info.'\';
        $("a").html(info);
        alert(info);
    });
</script>';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM