我尝试搜索相关帖子,并且很难弄清楚如何修复我的查询 - 我非常接近,非常感谢任何帮助(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小时后仍无法找到它! :)
提前致谢。
答案 0 :(得分:5)
您不是Javascript - 转义字符串中的引号。
您的代码会创建类似于
的Javascript$("<li>...<a href="http..."...")
属性中的引号结束Javascript字符串,从而产生语法错误。
您需要致电json_encode
。
答案 1 :(得分:3)
SLaks 还有其他问题。但是,它不是:
$("document").ready();
这是:
$(document).ready();
前者是名为<document>
的标记的选择器。
答案 2 :(得分:2)
这应该按照你想要的方式工作:
<?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>
答案 3 :(得分:1)
您没有关闭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>';
答案 4 :(得分:1)
你应该逃避信息。它打破了,因为你在双引号内有双引号:
$info = addslashes($info);
或
$info = json_encode($info);
或只是
$info = str_replace('"', '\\"');
答案 5 :(得分:0)
首先尝试保存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;
?>
答案 6 :(得分:0)
echo '<script type="text/javascript">
$(document).ready( function () {
var info = \''.$info.'\';
$("a").html(info);
alert(info);
});
</script>';