繁体   English   中英

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

[英]How to store text in a span tag into a variable using PHP?

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

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

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

这是来自这个问题的灵感:PHP Parse HTML code

您可以使用http://php.net/manual/en/class.domelement.php执行此操作

这是示例代码;

$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

可以试试,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;

ideone 中在线测试。

链接:

你也可以尝试new simplexmlelement(XMLString)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM