【问题标题】:Search in Multidimensional Array with PHP after array_walk - didnt find string在 array_walk 之后使用 PHP 在多维数组中搜索 - 没有找到字符串
【发布时间】:2018-06-13 07:01:10
【问题描述】:

这让我很头疼:我有一些数组,它是一些像这样的 html 代码:

array_walk($data, function(&$value, $key) {
    $value['post_content'] = htmlentities($value['post_content']);
});
var_dump ($data);

数组转储是这样的,我从大数组中取出了一些键,它是一个网站:

[20]=> array(1) { ["post_content"]=> string(20645) "<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "https://www.w3.org/TR/REC-html40/loose.dtd"> <html><body> <font rwr="1" size="2" style="font-family:Arial">"}

现在我想遍历该数组并找到一些刺痛并将它们替换为没有删除主题的内容。 我在努力

$html = array_values($data);
if (array_search("font", $html)) {
    echo "Ist DRIN";
}       else      { echo "NEIN"; }

我也曾尝试在翻转数组后进行搜索,依此类推,但从未找到可以使用的东西。 我的错误在哪里?谢谢

【问题讨论】:

  • array_map 是您正在寻找的第一个参数是函数
  • function searching($s) { if (array_search("Lenovo", $html)) { echo "Ist DRIN"; } else { echo "NEIN"; } return $s; } print_r(array_map("searching",$data)); 我写了这个函数,使用了array_map,但是输出还是没有,但是array中有Lenovo之类的字符串
  • 所以当我在这段代码中只使用 1 个键时;我可以得到一个结果,但不是整个数组:$ergebnis = $data[20]['post_content']; var_dump ($ergebnis); if (strpos($ergebnis, 'DOCTYPE')) { echo "Ist DRIN"; } else { echo "NEIN"; } echo strpos($ergebnis, 'DOCTYPE');
  • 它看起来像是一个数组数组,[20] 表明总体数组有超过 20 个条目,每个条目本身就是一个数组,其中包含包含 post_content 的键。所以你必须分解你的逻辑来解决这个问题

标签: php html arrays search


【解决方案1】:

我想我有一个很好的方法来处理它。这很简单,但是当问题看起来很大时,我们倾向于认为很复杂;)

for($i=0; $i < 1000; $i++)
    {
        echo strpos($data[$i]['post_content'], $searchstring)."<br />";
    }

我只是用 for 函数遍历键并将其插入数组的第一个索引位置。

【讨论】:

    【解决方案2】:

    这样试试,

    $newArray = array_map(function($v){
      return trim(strip_tags($v)); 
    }, $m);
    

    或许能帮到你 你的问题在这里有答案link

    【讨论】:

      猜你喜欢
      • 2012-09-12
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      • 2012-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-19
      相关资源
      最近更新 更多