PHP和简单DOM HTML解析器 - 替换相同的文本字符串

时间:2015-12-18 09:54:40

标签: php html string parsing dom

我正在使用Simple DOM html解析器php脚本,这似乎是一种简单的方法,这是我的代码:

include('simple_html_dom.php');

$html = file_get_html($_SERVER['DOCUMENT_ROOT']."/wp-content/themes/genesis-sample-develop/cache-reports/atudem.html");

$snow_depth_min = $html->find('td', 115);
$snow_depth_max = $html->find('td', 116);
$snow_type = $html->find('td', 117);

问题在于$ snow_type。有时解析的文本字符串是'polvo',有时它是'polvo-dura'。我试图用'粉末'代替'polvo',用'粉末/包装'代替'polvo-dura'。如果我做了像

这样的事情
if ($snow_type->innertext=='polvo-dura') {
    $snow_type->innertext('powder');
}

$snow_type = str_replace("polvo", "powder", $snow_type);
$snow_type = str_replace("polvo-dura", "powder/packed", $snow_type);

它的结果就像'粉末硬脑膜'和类似奇怪的东西。

显然我是php的新手,所以对我有一些耐心;)我也想了解为什么会发生这种情况以及为什么可能的解决方案会起作用。

提前致谢

1 个答案:

答案 0 :(得分:1)

if ($snow_type->innertext=='polvo-dura') {
    $innertext = 'powder/packed';
} else if ($snow_type->innertext=='polvo') {
    $innertext = 'powder';
}