Как заменить тег p на br, используя JavaScript - PullRequest
0 голосов
/ 16 июня 2011

Как бы заменить это:

<p class='abc'>blah blah</p> afdads

На это:

blah blah <br/>

Использование (vanilla?) JavaScript?

Спасибо!

Обновленный контент

$content = $_REQUEST['content'];
$content = preg_replace('/<p[^>]*>/', '', $content); // Remove the start <p> or <p attr="">
$content = preg_replace('/</p>/', '<br />', $content); // Replace the end
echo $content; // Output content without P tags

Я бы что-то вроде этого ... надеюсь, на этот раз вы, друзья, получили мой вопрос.

Спасибо

Ответы [ 4 ]

5 голосов
/ 02 ноября 2011

Спасибо за публикацию этого вопроса, вы спасатель, GitsD.

Я заменил вашу функцию php на javascript, и она сработала!

content = content.replace(/<p[^>]*>/g, '').replace(/<\/p>/g, '<br />');

контент теперь заменяет p теговс тегами '' и / p с br

3 голосов
/ 16 июня 2011

Боюсь, ваш вопрос не очень точный. Предполагая, что вы хотите сделать это для всех тегов p с этим классом, и вы работаете в среде веб-браузера:

var paras = document.getElementsByTagName('p')
for (var i = 0; i < paras.length; ) {
  if (paras[i].className.match(/\babc\b/)) {
    var h = paras[i].innerHTML
      , b = document.createElement('br')
      , t = document.createTextNode(h)
      , p = paras[i].parentNode
    p.replaceChild(b, paras[i])
    p.insertBefore(t, b)
  }
  else {
    i++
  }
}
3 голосов
/ 16 июня 2011

Вы могли бы сделать (если вы говорите о строках)

var str = "<p class='abc'>blah blah</p> afdads";

str = str.replace("<p class='abc'>", "");
str = str.replace("</p> afdads", " <br/>");
//str = "blah blah <br/>"
1 голос
/ 16 июня 2011

Если бы вы на самом деле имели в виду JavaScript , а не PHP, это сделало бы это:

var ps = document.getElementsByTagName('p');
while (ps.length) {
    var p = ps[0];
    while (p.firstChild) {
        p.parentNode.insertBefore(p.firstChild, p);
    }
    p.parentNode.insertBefore(document.createElement('br'), p);
    p.parentNode.removeChild(p);
}

Это работает, потому что NodeList, возвращаемый getElementsByTagName, является «живым», что означаетчто когда мы удаляем узел p из документа, он также удаляется из списка.

...