Поиск во всем html-документе точного кода "<br> foo <br>" и удаление его - PullRequest
0 голосов
/ 19 июля 2011

У меня есть страница, в которой несколько раз в разных частях кода есть <br>foo<br>

Пример:

<!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>

Но мне нужна страница, чтобы сказать:
Быстрая коричневая лиса перепрыгнула через ленивую собаку.

Вместо:
Быстрый коричневый
Foo
лиса перепрыгнула через ленивого
Foo
собака.

Мне нужно, чтобы он продолжал удалять <br>foo<br>, даже если позже я добавлю больше текста и больше <br>foo<br>

Пожалуйста, предоставьте полный функциональный код, надеюсь php

Дополнительная информация:
Я загружаю большую часть текста через php include.
Я не хочу объявлять исходную строку в php, я хочу, чтобы php проверил HTML-код и удалил указанную строку.

Ответы [ 5 ]

0 голосов
/ 19 июля 2011

Вы не можете делать то, что просите с 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.

Обновлено для фактической работы ...

0 голосов
/ 19 июля 2011

Если вы загрузите файл в строку в php, вы можете сделать:

$cleaned = str_replace("<br>foo<br>", "", $raw);
0 голосов
/ 19 июля 2011

Я не слишком знаком с PHP, но похоже, что это будет работать:

str_replace ( "<br>foo<br>", "" , a string containing your html document)
0 голосов
/ 19 июля 2011
<?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;

рабочая демонстрация

0 голосов
/ 19 июля 2011

Использование str_replace

str_replace('<br>foo<br>','',$textInHere);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...