gpt4 book ai didi

php - 从html查找所有单词(或句子)

转载 作者:行者123 更新时间:2023-12-02 05:16:00 25 4
gpt4 key购买 nike

我正在尝试在html块中查找所有单词。阅读manual我认为可以通过使用find('text')函数来实现。虽然我无法获得返回的任何内容。

谁能告诉我我在做什么错?

require_once __DIR__ . '/simple_html_dom.php';

$html = str_get_html("<html><body><div><p><span>Hello to the <b>World</b></span></p><p> again</p></div></body></html>");

foreach($html->find('text') as $element) {
echo $element->plaintext . '<br>';
}

我最终想要做的是找到所有文本及其在html中的起始位置。对于此特定示例,它看起来像这样:
[
0 => [
'word' => 'Hello to the ',
'pos' => 27
],
1 => [
'word' => 'World',
'pos' => 43
],
2 => [
'word' => ' again',
'pos' => 66
]
]

因此,有人可以向我解释一下简单HTML Dom在做什么,并帮助我弄清楚每个单词的开头位置吗?还是告诉我应该使用的另一种工具?

最佳答案

您可以使用可用的函数strip_tagpreg_match_all提取每个单词的位置

$str = "<html><body><div><p><span>Hello to the <b>World</b></span></p><p> again</p></div></body></html>";
$find = '/'.str_replace(' ','|',strip_tags($str)).'/';
preg_match_all($find, strip_tags($str), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);

结果:-
 Array
(
[0] => Array
(
[0] => Array
(
[0] => Hello
[1] => 0
)

[1] => Array
(
[0] => to
[1] => 6
)

[2] => Array
(
[0] => the
[1] => 9
)

[3] => Array
(
[0] => World
[1] => 13
)

[4] => Array
(
[0] => again
[1] => 19
)

)

)

关于php - 从html查找所有单词(或句子),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55598005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com