Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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简单HTML DOM解析器获取文本值_Php_Html_Simple Html Dom - Fatal编程技术网

使用PHP简单HTML DOM解析器获取文本值

使用PHP简单HTML DOM解析器获取文本值,php,html,simple-html-dom,Php,Html,Simple Html Dom,如何使用PHP simple HTML DOM parser with the children命令在Your name:处获取文本值 价格:100000000 txt1 你的名字:aaa 电话:02632402210 假设您文章中的HTML位于变量$str中,这相当简单: // Parse the HTML string into a DOM object $html = str_get_html($str); // Find the second nested span inside

如何使用PHP simple HTML DOM parser with the children命令在
Your name:
处获取文本值


价格:100000000
txt1
你的名字:aaa
电话:02632402210

假设您文章中的HTML位于变量
$str
中,这相当简单:

// Parse the HTML string into a DOM object
$html = str_get_html($str);

// Find the second nested span inside the <div class="adds-info">, then get its parent
$span = $html->find('.adds-info span span', 1)->parent;

// Get the innerhtml of the parent span
$name = $span->innertext;
//将HTML字符串解析为DOM对象
$html=str\u get\u html($str);
//在中查找第二个嵌套跨距,然后获取其父跨距
$span=$html->find('.添加信息span',1)->parent;
//获取父范围的innerhtml
$name=$span->innertext;
如果元素的数量发生变化,则需要检查每个元素是否有要查找的文本

// Get all spans inside the <div class="adds-info">
$spans = $html->find('.adds-info span');

// Loop through each span, looking for "Your name:"
foreach ($spans as $span) {
    if (strpos($span->innerhtml, "Your name:") !== FALSE) {
        $name = $span->innerhtml;
    }
}
//获取
$spans=$html->find('.adds info span');
//在每个跨度中循环,查找“您的姓名:”
foreach($spans作为$span){
if(strpos($span->innerhtml,“您的名字:”)!==FALSE){
$name=$span->innerhtml;
}
}

假设您文章中的HTML位于变量
$str
中,这相当简单:

// Parse the HTML string into a DOM object
$html = str_get_html($str);

// Find the second nested span inside the <div class="adds-info">, then get its parent
$span = $html->find('.adds-info span span', 1)->parent;

// Get the innerhtml of the parent span
$name = $span->innertext;
//将HTML字符串解析为DOM对象
$html=str\u get\u html($str);
//在中查找第二个嵌套跨距,然后获取其父跨距
$span=$html->find('.添加信息span',1)->parent;
//获取父范围的innerhtml
$name=$span->innertext;
如果元素的数量发生变化,则需要检查每个元素是否有要查找的文本

// Get all spans inside the <div class="adds-info">
$spans = $html->find('.adds-info span');

// Loop through each span, looking for "Your name:"
foreach ($spans as $span) {
    if (strpos($span->innerhtml, "Your name:") !== FALSE) {
        $name = $span->innerhtml;
    }
}
//获取
$spans=$html->find('.adds info span');
//在每个跨度中循环,查找“您的姓名:”
foreach($spans作为$span){
if(strpos($span->innerhtml,“您的名字:”)!==FALSE){
$name=$span->innerhtml;
}
}

谢谢你,我试着这样做,效果很好

$span='.添加信息span';
foreach($n){
if(strpos($n->innertext,“您的名字:”)!==FALSE){
$name=$n->innertext;
$name=str_replace('您的姓名:','',$name);
echo“Name:”.$Name.“
”; } }
谢谢你,我试着这样做,效果很好

$span='.添加信息span';
foreach($n){
if(strpos($n->innertext,“您的名字:”)!==FALSE){
$name=$n->innertext;
$name=str_replace('您的姓名:','',$name);
echo“Name:”.$Name.“
”; } }
是的,这在CSS中有效,但我需要在php简单html dom中使用。你是说?price:显然,像
:first child
这样的东西是不受支持的。您可以执行类似于
$simpledomobject->find(“.adds info span”,1)
的操作,这会有帮助吗?要打印文本,您需要执行
echo$simpledomobject->find(“.adds info span”,1)->innertext是的,这在CSS中有效,但我需要在php简单html dom中使用。你是说?price:显然,像
:first child
这样的东西是不受支持的。您可以执行类似于
$simpledomobject->find(“.adds info span”,1)
的操作,这会有帮助吗?要打印文本,您需要执行
echo$simpledomobject->find(“.adds info span”,1)->innertext