Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:在元标记中删除注释不起作用_Php_Xpath_Screen Scraping_Meta Tags - Fatal编程技术网

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-->">