【问题标题】:Strip tags after entering it into an array?将标签输入数组后剥离标签?
【发布时间】:2018-06-21 14:27:14
【问题描述】:

如何去除单个项目的标签?使用当前设置,我最终得到一个长字符串,所有标签都已被剥离。

如何将$title 输入到$value 数组中,然后为其剥离标签?

// Product Codes
$contents = $html->find('div[class=product-table]', 0);
$contents = $contents->find('tr');
$counter = 1;
$value = array();
foreach ($contents as $item) {
  $field_key = "field_5ae0882f9d6f9";
  $title = strip_tags($item);
  $value[] = array(
    "column_title" => $title,
  );
  $counter++;
  break;
}
update_field( $field_key, $value, $post_id );

这是原始表格,我想将每个表格标题添加为单独的项目,剥离标签,然后使用 update_field 函数通过高级自定义字段插件将它们推送到 Wordpress。

【问题讨论】:

  • 什么是$item$value 是什么/
  • @user3783243 $item 包含单独的标题(带有一些我想删除的 html)。当前设置仅将 $value 输出为一个长字符串,所有标签都被剥离,而不是单个项目的标签被剥离。
  • 预期输出是多少?你想在列上拆分吗? $contents = $contents->find('tr td'); 可能会成功
  • 这里有什么问题?您的代码有什么?
  • 不确定您使用的是哪种库,但我希望$tr = $contents->find('tr'); foreach($tr as $trx) { $tds = $trx->find('td'); }

标签: php


【解决方案1】:

这是你要找的吗?

// Product Codes
$contents = $html->find('div[class=product-table]', 0);
$contents = $contents->find('tr', 0)->find('td');
$counter = 1;
$value = array();
foreach ($contents as $item) {
  $field_key = "field_5ae0882f9d6f9";
  $value[] = array(
    "column_title" => "<td>" . strip_tags($item) . "</td>",
  );
  $counter++;
}
var_dump($value);
update_field( $field_key, $value, $post_id );

【讨论】:

  • 你刚刚使$title 未定义。这不会有帮助
  • 我很难想象发生了什么。你能发布一个正在发生的事情的工作示例吗?
  • 使用一个工作示例会更容易解决。我所做的任何更改有帮助吗?
  • @Rob 如果我们将tr 标签更改为td 标签会发生什么?
  • @Rob 可能会这样吗?
【解决方案2】:
// Product Codes
$contents = $html->find('div[class=product-table]', 0);
$contents = $contents->find('tr');
$counter = 1;
$value = array();
$i=0;

foreach ($contents as $tr) {
    if($i==0){
        foreach($tr->find('td') as $item) {
            $field_key = "field_5ae0882f9d6f9";
            $title = strip_tags($item);
            $value[] = array(
                 "column_title" => $title,
            );
            $counter++;
        }
    }
    $i++;

}
update_field( $field_key, $value, $post_id );

将其更改为遍历 tr,仅限于一个。应该遍历该行的所有 td。

【讨论】:

  • 这只会击中第一个td然后中断。
  • 突破了。
猜你喜欢
  • 2014-03-16
  • 1970-01-01
  • 2013-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多