【问题标题】:How to trim html tag and format using php?如何使用 php 修剪 html 标签和格式?
【发布时间】:2016-03-03 17:46:08
【问题描述】:

举例

$string = '<i>Line1</i><i><i><i><i><i></i></i></i></i></i><i><i><i><i>
              <i>Line 2</i></i></i></i></i><i><i><i><i><i></i></i></i></i>
              </i><i><i><i><i><i>Line 3</i></i></i></i></i>';

如果标签里面的内容是空的,我如何删除标签,如果标签没有关闭,我如何关闭标签 使用php

请帮忙解决这个问题。

【问题讨论】:

  • 你知道所有这些标签里面都有内容吗?
  • 是的,你能帮忙吗...

标签: php html tags


【解决方案1】:

您可以为此使用strip_tags

$string ='<i>Line1</i><i><i><i><i><i></i></i></i></i></i><i><i><i><i>
          <i>Line 2</i></i></i></i></i><i><i><i><i><i></i></i></i></i>
          </i><i><i><i><i><i>Line 3</i></i></i></i></i>';

剥离标签

echo strip_tags($string);

格式化未关闭的标签的一种方法是

$doc = new DOMDocument();
$doc->loadHTML($string);
$string = $doc->saveHTML();

我们还可以使用正则表达式来删除空的 html 标签。这是一个小功能。

function remove_empty_tags ($string, $rep = NULL)
{
   if (!is_string ($string)
      || trim ($string) == '')
          return $string;

   return preg_replace ('/<([^<\/>]*)>([\s]*?|(?R))<\/\1>/imsU',!is_string ($rep) ? '' : $rep,$string);
}

$string = remove_empty_tags($string);

【讨论】:

  • 这不会删除所有标签,而不仅仅是那些没有内容的标签。此外,这不会关闭未关闭的标签。
  • 是的,你是对的。要删除没有内容的标签,我们可以使用正则表达式。
  • @Sean 我已经更新了我的答案,我在其中编写了一个函数来使用正则表达式删除空的 html 标签。
  • 好吧@ShameemAhmed。其实是一个问题。例如 测试。其实我需要测试。请帮帮我..
  • 为此,我建议您使用正则表达式,您可以使用正则表达式进行操作,但会有一些痕迹和错误。否则你可以通过这篇文章stackoverflow.com/questions/10248166/…
猜你喜欢
  • 2021-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-10
  • 2017-05-29
  • 2014-05-12
相关资源
最近更新 更多