首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文本提取器php

文本提取器php
EN

Stack Overflow用户
提问于 2013-04-10 12:59:07
回答 1查看 112关注 0票数 0

我在另一页test1.php上有这个页面test.php,我有这个php代码在运行:

代码语言:javascript
复制
 <?php 
    libxml_use_internal_errors(true); 
    $doc = new DOMDocument(); 
    $doc->loadHTMLFile("http://inviatapenet.gethost.ro/sop/test1.php"); 
    $xpath = new DOMXpath($doc); 
    $elements = $xpath->query("//*[@type='text/javascript']/@fid");
        if (!is_null($elements)) {
            foreach ($elements as $element) {
                $nodes = $element->childNodes;
                foreach ($nodes as $node) {
                    echo $node->nodeValue. "\n";
                }
            }
        }
?>

但什么也没显示出来。

我试图从该页面中获取fid="x8qfp3cvzbxng8e“的内容:

从这条线

代码语言:javascript
复制
<script type="text/javascript"> fid="x8qfp3cvzbxng8e"; v_width=640;
v_height=360; </script>

产出应如下:

x8qfp3cvzbxng8e

我要做什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-10 13:00:22

如果只想使用fid内容,请使用此正则表达式

代码语言:javascript
复制
 preg_match_all('~fid="(.*?)"~si',$Text,$Match);
 print_r($Match);

输出您的样本

代码语言:javascript
复制
 Array
(
   [0] => Array
    (
        [0] => fid="x8qfp3cvzbxng8e"
    )

   [1] => Array
    (
        [0] => x8qfp3cvzbxng8e
    )

)

尝试以下提取文本,这没有显示任何script内容,但如果需要,可以删除此内容的条件。

代码语言:javascript
复制
 function extractText($node) {
     if($node==NULL)return false;    
     if (XML_TEXT_NODE === $node->nodeType || XML_CDATA_SECTION_NODE === $node->nodeType) {
         return $node->nodeValue;
     } else if (XML_ELEMENT_NODE === $node->nodeType || XML_DOCUMENT_NODE === $node->nodeType || XML_DOCUMENT_FRAG_NODE === $node->nodeType) {
       if ('script' === $node->nodeName) return '';

       $text = '';
       foreach($node->childNodes as $childNode) {
          $text .= extractText($childNode);
       }
       return $text;
     }
}

示例

代码语言:javascript
复制
 $Text=file_get_contents("http://inviatapenet.gethost.ro/sop/test1.php");
 preg_match_all('~fid="(.*?)"~si',$Text,$Match);
 $fid=$Match[1][1];
 echo $fid;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15926549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档