PHP Query在哪个标签中是单词。

时间:2014-04-03 13:04:26

标签: php phpquery

我目前正在使用此代码检索代码。

$title = $pq->find("title")->text();
$h1 = $pq->find("h1")->text();
$p = $pq->find("p")->text();

这是正确的做法吗?

其次,我必须看到我的数组$array_words中的哪个词在哪个标签中。所以我检索了file_get_contents并删除了所有标签并将所有单词放在一个数组中。现在让我们举个例子:

Array
(
    [0] => hello
    [1] => there
    [2] => this
    [3] => is
    [4] => a
    [8] => test
    [9] => array
)

这就是HTML:

<html>
    <head>
        <title>
            hello there
        </title>
    </head>
    <body>
        <h1>
           this is a
        </h1>
        <p>
           test array
        </p>
    </body>
</html>

如何找出在哪个标签中找到哪个单词?

我希望我能说清楚我要做的事情。

1 个答案:

答案 0 :(得分:0)

基于这个问题,重点是您需要创建一个引用,其中$ array_words中的哪个单词位于某个HTML标记中。

所以你要检查一系列标签,对吗?

我所看到的是:

  1. 获取您要检查的所有标签。
  2. 将所有标签放在Foreach上以检查所有标签。
  3. 在Foreach上,使用phpQuery查找这些标签内的单词。
  4. phpQuery应该返回文本,所以你应该使用explode闯入一个名为“$ words_from_text”的新单词数组。创建了一个新数组。
  5. 将一个“in_array”比较器用于一个新的foreach(在旧的foreach中),以查找$ array_words中的哪些单词在文本中。
  6. 如果在$ array_words中找到$ Words_from_text的密钥,请通过设置附加到代码密钥的新数组来放入代码数组。

    $ array_tags =(     'H1', '格', '标题', )

    $ array_words = (     [0] =&gt;你好     [1] =&gt;那里     [2] =&gt;这个     [3] =&gt;是     [4] =&gt;一个     [8] =&gt;测试     [9] =&gt;排列 )

  7. 最终数组的结果应该是这样的:

    $array_tags = array(
       ['title'] = array('word1','word2'),
       ['h1']    = array('word3','word4'),
       ['div']   = array('word5','word6')
    );
    

    因此,如果您需要此示例,则可以使用此指南来解决您的问题。