Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.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将span标记中的文本存储到变量中?_Php_Html - Fatal编程技术网

如何使用PHP将span标记中的文本存储到变量中?

如何使用PHP将span标记中的文本存储到变量中?,php,html,Php,Html,我刚开始学习PHP。我有一个名为“address”的字符串,其中包含如下HTML: <div class="address_row"> <span class="address1">239 House</span> <span class="address2">Street South</span> </div> 239之家酒店 南街 我想知道如何将“239 House”存储到一个名为“address1”的变量

我刚开始学习PHP。我有一个名为“address”的字符串,其中包含如下HTML:

<div class="address_row">
  <span class="address1">239 House</span>
  <span class="address2">Street South</span>
</div>

239之家酒店
南街

我想知道如何将“239 House”存储到一个名为“address1”的变量中

这是从这个问题得到的灵感:

您可以使用

下面是示例代码

$str = '<div class="address_row">
  <span class="address1">239 House</span>
  <span class="address2">Street South</span>
</div>';

$DOM = new DOMDocument;
$DOM->loadHTML($str);

// all span elements
$items = $DOM->getElementsByTagName('span');
$span_list = array();

for($i = 0; $i < $items->length; $i++) {
    $item = $items->item($i);
    $span_list[$item->getAttribute('class')] = $item->nodeValue;
}
extract($span_list);

echo $address1; // 239 House
echo $address2; // Street South
$str='1〕
239之家酒店
南街
';
$DOM=新的DOMDocument;
$DOM->loadHTML($str);
//所有跨度构件
$items=$DOM->getElementsByTagName('span');
$span_list=array();
对于($i=0;$i<$items->length;$i++){
$item=$items->item($i);
$span_list[$item->getAttribute('class')]=$item->nodeValue;
}
摘录($span_列表);
echo$address1;//239之家酒店
echo$address2;//南街

这是这个问题的启示:

您可以使用

下面是示例代码

$str = '<div class="address_row">
  <span class="address1">239 House</span>
  <span class="address2">Street South</span>
</div>';

$DOM = new DOMDocument;
$DOM->loadHTML($str);

// all span elements
$items = $DOM->getElementsByTagName('span');
$span_list = array();

for($i = 0; $i < $items->length; $i++) {
    $item = $items->item($i);
    $span_list[$item->getAttribute('class')] = $item->nodeValue;
}
extract($span_list);

echo $address1; // 239 House
echo $address2; // Street South
$str='1〕
239之家酒店
南街
';
$DOM=新的DOMDocument;
$DOM->loadHTML($str);
//所有跨度构件
$items=$DOM->getElementsByTagName('span');
$span_list=array();
对于($i=0;$i<$items->length;$i++){
$item=$items->item($i);
$span_list[$item->getAttribute('class')]=$item->nodeValue;
}
摘录($span_列表);
echo$address1;//239之家酒店
echo$address2;//南街

可以尝试这样做,XPath可以帮助您的项目:

<?php
$str = '<div class="address_row">
  <span class="address1">239 House</span>
  <span class="address2">Street South</span>
</div>';

$a = new DOMDocument;
$a->loadHTML($str);

$b = new DomXPath($a);//set DOM from XPath

//Get <span class=address1>
$address1 = trim($b->query('//*[@class="address1"]')->item(0)->nodeValue);

//Get <span class=address2>
$address2 = trim($b->query('//*[@class="address2"]')->item(0)->nodeValue);

//show variables
echo 'address2: ', $address1, '<br>';
echo 'address2: ', $address2;

可以尝试这样做,XPath可以帮助您的项目:

<?php
$str = '<div class="address_row">
  <span class="address1">239 House</span>
  <span class="address2">Street South</span>
</div>';

$a = new DOMDocument;
$a->loadHTML($str);

$b = new DomXPath($a);//set DOM from XPath

//Get <span class=address1>
$address1 = trim($b->query('//*[@class="address1"]')->item(0)->nodeValue);

//Get <span class=address2>
$address2 = trim($b->query('//*[@class="address2"]')->item(0)->nodeValue);

//show variables
echo 'address2: ', $address1, '<br>';
echo 'address2: ', $address2;


您可以使用一个表单,使用
POST
GET
,以及不同(命名)字段的变量,并从中存储它们。最好使用
POST
。到目前为止,您尝试了什么?$address1='239 House'我有一个php字符串变量中的html。如何使用POST或GET或$address1='239 House'你能展示你迄今为止尝试过的代码吗?你可以使用正则表达式,或一些html解析器(更好)。你可以使用一个表单,使用
POST
GET
,以及不同(命名)字段的变量,并从那里存储它们。最好使用
POST
。到目前为止,您尝试了什么?$address1='239 House'我有一个php字符串变量中的html。如何使用POST或GET或$address1='239 House'你能展示你迄今为止尝试过的代码吗?你可以使用正则表达式或一些html解析器(更好)。
echo$address1(或2)会更好:)这也是一个很好的观点<代码>echo$str将一箭双雕。哈哈!实际上,我们也可以使用一个简单的html页面,而不是
echo$str
。不需要php:DOh!?。。。如果没有PHP,你会怎么做?“好奇”喜欢使用
query('//*[@class=“foo”]')
而不是循环
echo$address1(或2)会更好:)这也是一个很好的观点<代码>echo$str将一箭双雕。哈哈!实际上,我们也可以使用一个简单的html页面,而不是
echo$str
。不需要php:DOh!?。。。如果没有PHP,你会怎么做?“好奇”更喜欢使用
查询('/*[@class=“foo”]')
而不是循环
+1
,我可能应该了解这一点。我以前从没听说过,也没听说过。但是,看起来不错。不管怎样,初学者友好教程?是的,这是更简单的方法。但是,当我们考虑AdvestSn时,循环是不可避免的。实际上,我使用循环使用这种可能性。
+1
我可能应该了解这一点。我以前从没听说过,也没听说过。但是,看起来不错。不管怎样,初学者友好教程?是的,这是更简单的方法。但是,当我们考虑AdvestSn时,循环是不可避免的。实际上,我使用循环使用这种可能性。