PHP:在元标记中删除注释不起作用
我的结构如下:PHP:在元标记中删除注释不起作用,php,xpath,screen-scraping,meta-tags,Php,Xpath,Screen Scraping,Meta Tags,我的结构如下: <body> <meta name="keywords" content="This is normal text"> <meta name="description" content="<!--This text is a comment-->"> <body> 将返回“这是正常文本” 及 将返回“此文本是注释” 问题是第一种情况有效,它返回“这是普通文本”,但在第二种情况下,它不返回任何内容,就好像没有
<body>
<meta name="keywords" content="This is normal text">
<meta name="description" content="<!--This text is a comment-->">
<body>
将返回“这是正常文本”
及
将返回“此文本是注释”
问题是第一种情况有效,它返回“这是普通文本”,但在第二种情况下,它不返回任何内容,就好像没有文本一样。
你知道这里怎么了吗
我需要的是标记为注释的文本(“此文本是注释”)。
非常感谢您的帮助。属性不能包含注释。您的问题实际上是XML无效:
属性不能包含注释。您的问题实际上是XML无效:
正如您所引用的:-“但在第二种情况下,它什么也不返回,就好像没有文本一样。”如果没有文本,那么它将不会返回文本我已经尝试了您的代码,它为我提供了完美的第二个元标记。你的第二个meta标签包含的不是我现实生活中的例子,而是文本。。。我想,可能是因为文本被标记为注释,它不可读……Shubham,我找到了一个你可以测试的例子,作为一种拥有真实例子的方式,而不仅仅是一个理论案例。搜索name=“description”所在的元标记,并尝试获取标记为注释的内容。正如您引用的:-“但在第二种情况下,它不会返回任何内容,就像没有文本一样。”如果没有文本,它将不会返回任何文本我已经尝试了您的代码,它为我提供了完美的第二个元标记。你的第二个meta标签包含的不是我现实生活中的例子,而是文本。。。我想,可能是因为文本被标记为注释,它不可读……Shubham,我找到了一个你可以测试的例子,作为一种拥有真实例子的方式,而不仅仅是一个理论案例。在name=“description”处搜索META标记,并尝试获取标记为comment的内容。
$meta = $XPath->query ( '//body/meta[1]/@content' );
$meta = $meta->item(0)->nodeValue;
$meta = $XPath->query ( '//body/meta[2]/@content' );
$meta = $meta->item(0)->nodeValue;
<meta name="description" content="<!--This text is a comment-->">