【问题标题】:Search entire html document for an exact code "<br>foo<br>" and delete it在整个 html 文档中搜索确切的代码“<br>foo<br>”并将其删除
【发布时间】:2011-10-08 03:23:21
【问题描述】:

我有一个页面,在其代码的不同部分有好几次 &lt;br&gt;foo&lt;br&gt;

示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Test</title>
  </head>

  <body>
    The quick brown <br>foo<br> fox jumped over the lazy <br>foo<br> dog.
  </body>
</html>

但我需要页面说:
敏捷的棕狐跳过了懒惰的狗。

而不是:
快速棕色

狐狸跳过懒人

狗。

我需要它来继续删除&lt;br&gt;foo&lt;br&gt;,即使我以后添加更多文本和更多&lt;br&gt;foo&lt;br&gt;

请提供完整的功能代码,希望是php

其他信息:
我正在通过 php 加载大部分文本。
我不想在php中声明原始字符串,我希望php检查html代码并删除指定的字符串。

【问题讨论】:

  • 如果你愿意,你可以做一个幼稚的str_replace()
  • 到目前为止您尝试过什么? “即使我添加更多文字......”是什么意思?您是否正在通过 ajax 加载其他内容?
  • @kbad,我试过 css visibility:hidden;,但我什至不想在代码中使用那个字符串。 @alex str_replace() 的问题是我不想在php中声明原始字符串,我希望php检查html代码并删除指定的字符串

标签: php javascript regex string replace


【解决方案1】:

使用str_replace

str_replace('<br>foo<br>','',$textInHere);

【讨论】:

    【解决方案2】:

    除非字符串是由 PHP 输出的,否则你不能用 PHP 做你要求的事情......

    我想您可以为此使用 javascript;例如(使用 JQuery):

    $(document).ready(function(){
            var old_body = $('body').html();
            var new_body = old_body.replace(new RegExp("<br>foo<br>", "g"),'');
            $('body').html(new_body);
        });
    

    但是,如果您使用已经描述的方法之一并通过 PHP 传递内容,那确实会更好。

    更新到实际工作...

    【讨论】:

      【解决方案3】:

      如果将文件加载到php中的字符串中,可以这样做:

      $cleaned = str_replace("<br>foo<br>", "", $raw);
      

      【讨论】:

        【解决方案4】:
        <?php 
        $your_html = 'The quick brown <br>foo<br> fox jumped over the lazy <br>foo<br> dog.';
        $your_html = preg_replace("/<br>foo<br>/", "", $your_html);
        echo $your_html;
        

        working demo

        【讨论】:

        • Genesis,感谢您的快速回复,但我不想在php中声明原始字符串,我希望php检查html代码并删除指定的字符串。
        【解决方案5】:

        我对 PHP 不太熟悉,但似乎可以这样:

        str_replace ( "<br>foo<br>", "" , a string containing your html document)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-01-24
          • 2010-12-29
          • 1970-01-01
          • 2012-12-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多