我该如何替换它:
<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
我会喜欢这样的...希望这次你的伙伴们有我的问题。
谢谢你
答案 0 :(得分:5)
感谢您发布此问题,您是救星,GitsD。
我将你的php函数替换为javascript并且它有效!
content = content.replace(/<p[^>]*>/g, '').replace(/<\/p>/g, '<br />');
内容现在用''和/ p标签用br
替换p标签答案 1 :(得分:3)
你可以做(如果你谈论字符串)
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/>"
答案 2 :(得分:3)
我担心你的问题没有明确说明。假设您希望对该类的所有p标记执行此操作,并且您正在Web浏览器环境中工作:
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 :(得分:1)
如果您实际上是指 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
节点时,它也会从列表中删除。
答案 4 :(得分:-1)
使用jQuery很容易
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.js"></script>
<script type="text/javascript">
function replaceAll() {
$('p').replaceWith(function () {
return $(this).html() + '<br/>';
});
}
</script>
</head>
<body style="width: 943px">
<input type="button" onclick="replaceAll();" value="Replace" />
<p class='abc'>blah blah</p> afdads
<p class='abc'>grah grah</p> ertyu
<p class='abc'>bubu bubu</p> xcvbn
</body>
</html>