Php 从jQuery load()结果中剥离HTML

Php 从jQuery load()结果中剥离HTML,php,jquery,html,Php,Jquery,Html,这是一个后续的解决方案 我正在使用jQuery的load函数将div标记中的标题从一个页面拉到我站点中的另一个页面。这真是太棒了 问题是,load还拉取div标记本身,这是我不想要的,因为它会像源页面一样通过CSS格式化 以下是PHP: function get_team_articles($team_id, $feat=0) { . . . while ($row = mysql_fetch_assoc($r)) { $page = explod

这是一个后续的解决方案

我正在使用jQuery的load函数将div标记中的标题从一个页面拉到我站点中的另一个页面。这真是太棒了

问题是,load还拉取div标记本身,这是我不想要的,因为它会像源页面一样通过CSS格式化

以下是PHP:

function get_team_articles($team_id, $feat=0) {
    .
    .
    .
    while ($row = mysql_fetch_assoc($r)) {
        $page = explode('_', $row['page_id']);
        (is_numeric($page[1]))
            ? $pre = 'wk_'
            : $pre = '';
        $arr[] =    $page[0] . " | " . $pre . $page[1] . ": " . "
                    <a linked_div='news_header'
                    linked_path='../news/" . $page[0] . "/" . $pre . $page[1] . "/" . $page[1] . "_" . $page[2] . ".html'
                    href='index.php?view=news&yr=" . $page[0] . "&wk=" . $page[1] . "&pg=" . $page[2] . "'></a>";
    }

    $articles = implode('<br/>', $arr);
    return $articles;
}
显然,我无法在PHP中剥离锚定标记中的HTML标记,因为服务器在加载时锚定标记中没有文本;因此,我假设我需要在加载调用后剥离jQuery中的HTML…这就是我无法理解的方法:

我想要的结果是:

我得到的结果是:


希望这是有道理的。我想我提供了比我需要的更多的细节。谢谢

在.load选择器中再向下导航一级

如果您的新闻标题id不唯一,则根据该id进行选择是无效的。该id必须是唯一的

要解决该问题,请使用以下方法:

a.load(a.attr('linked_path') + ' #' + a.attr('linked_div') + ' div');
编辑: .load在附加html时实际上包括目标元素,而不是附加目标元素的子元素。我会使用$.get


对不起,@Kevin-B,新闻标题是一个id,不是一个类。我将编辑我的原始帖子。对,但在链接的源页面上,ID是唯一的。在目标页面上,它们不会出现,但我不希望该div/ID填充返回到当前的原始版本。请参阅我的上一次编辑,这两种方式都可以。至少试试第一个。如果新闻标题在您请求的页面上是唯一的。加载,这就是您应该使用的。啊,是的,这很有意义。加载选定图元及其子图元,而不仅仅是其子图元。在这种情况下,我建议远离.load并使用$.get。我将更新答案。修改选择器,直到它更新为止。我没有你的html来处理。尝试使用.filter而不是.find等。最终load会获取整个页面,并为您的方便而剥离。为什么不找到'div'。从最终结果中删除?@Jashwant你的意思是像a.loada.attr'linked\u path'+''+a.attr'linked\u div.找到'div'。删除;?如果是这样的话,那就无法去掉标记,并导致与我的原始代码相同的问题解决方案。
<a href="...">My headline</a>
<a href="..."><div id="news_header">My headline</div></a>
a.load(a.attr('linked_path') + ' #news_header');
a.load(a.attr('linked_path') + ' #' + a.attr('linked_div') + ' div');
$.get(a.attr('linked_path')).done(function(html) {
    a.text($(html).filter("#news_header").text());
});