在PHP中获取特定数据

在PHP中获取特定数据,php,variables,Php,Variables,使用PHP获取特定数据的方法是什么。在本例中,我希望获得一些由包装到第一个HTML标记的文本。假设HTML源代码为: Once there was a king <span class="s"> May 3 2009 <b> ABC Some Text </b> Some photo or video</span> but they have... 曾经有一位国王,2009年5月3日,美国广播公司,一些文字,一些照片或视频,但是他们有。。。

使用PHP获取特定数据的方法是什么。在本例中,我希望获得一些由
包装到第一个
HTML标记的文本。
假设HTML源代码为:

Once there was a king <span class="s"> May 3  2009 <b> ABC Some Text </b> Some photo or video</span> but they have...
曾经有一位国王,2009年5月3日,美国广播公司,一些文字,一些照片或视频,但是他们有。。。
因此,这里我想在一个变量中获取这些过滤后的数据,如:
$fdata=“2009年5月3日”

因为,
2009年5月3日
包装到第一个
HTML标记。
我将在简单的PHP HTML DOM解析中使用它。那么,有什么想法或示例可以过滤这些文本并将其放入变量中?任何想法都会大有裨益

*如果您发现重复的问题,并不是因为它更具体。

使用简单的HTML DOM

或者您也可以使用任何其他库。

使用简单HTML DOM


或者,您也可以使用任何其他库。

如果您使用的是简单的html dom解析器,那么您可以像下面这样获取目标元素:

$ret = $html->find('span class="s"'); 
这只是一个基本的示例,但它应该让您朝着正确的方向前进

如果需要找到一个非常具体的实例,可以使用以下方法:

$ret = $html->find("#div1", 0)->children(1)->children(1)->children(2)->id;

如果您使用的是简单的html dom解析器,您会像下面这样获取目标元素:

$ret = $html->find('span class="s"'); 
这只是一个基本的示例,但它应该让您朝着正确的方向前进

如果需要找到一个非常具体的实例,可以使用以下方法:

$ret = $html->find("#div1", 0)->children(1)->children(1)->children(2)->id;

你是在问如何使用简单的html dom解析器来获取元素吗?事实上,我不知道如何过滤这些文本并获取变量,如果可能的话,我可以用简单的html dom解析器来播放。你是在问如何使用简单的html dom解析器来抓取元素吗?事实上,我不知道如何过滤这些文本并输入变量,如果可能的话,我可以用简单的html dom解析器来播放。是的,谢谢,但我知道。我不明白的是如何将那些被
包装的文本放到第一个
HTML标记中,并在变量中声明,如果你知道,请给我一个例子。嗯,如果您不想找出代码,请检查:如果您比较熟悉,您可以像jQuery选择器一样链接它。是否可以通过
preg\u replace
获取数据,如果可以,请给我举个例子。谢谢谢谢,但我知道。我不明白的是如何将那些被
包装的文本放到第一个
HTML标记中,并在变量中声明,如果你知道,请给我一个例子。嗯,如果您不想找出代码,请检查:如果您比较熟悉,您可以像jQuery选择器一样链接它。是否可以通过
preg\u replace
获取数据,如果可以,请给我举个例子。谢谢,实际上我想在一个变量中获取一些过滤文本,这样我们就可以将其与从变量中的url获取youtube视频id进行比较。使用我的第一个示例,它应该返回2009年5月3日ABC一些文本一些照片或视频。然后你可以在2009年5月3日之后修剪所有东西。你可能需要用一些正则表达式来处理这个问题,因为一个月和一天的长度可能会有所不同。谢谢,我正在尝试这样做,但不起作用:
foreach($result->find('span class=“s”)as$ftext)$new\u des=内爆('',数组切片(str\u word\u count($ftext,1),0,4))$结果=str_replace($new_des,,$result)$result=str\u get\u html($result)
所以它可以删除
span class=“s”
的前4个单词,如何使它工作?实际上我想在变量中获得一些过滤文本,这样我们就可以将其与从变量中的url获取youtube视频id进行比较。使用我的第一个示例,它应该返回
2009年5月3日ABC一些文本一些照片或视频
。然后你可以在2009年5月3日之后修剪所有东西。你可能需要用一些正则表达式来处理这个问题,因为一个月和一天的长度可能会有所不同。谢谢,我正在尝试这样做,但不起作用:
foreach($result->find('span class=“s”)as$ftext)$new\u des=内爆('',数组切片(str\u word\u count($ftext,1),0,4))$结果=str_replace($new_des,,$result)$result=str\u get\u html($result)
这样它就可以删除
span class=“s”
的前4个单词,如何使其工作?