PHP / CSS - 检测nl2br中断

时间:2012-07-16 01:25:02

标签: php javascript mysql sql css

我有一系列各种输入框,填充后会用信息填满数据库。然后,从另一个文件中,我获取信息并将其打印到屏幕上。

我想要做的是在每行前面加上一个符号,但是使用类似.style br {};似乎不起作用。

从MySQL中读取,如果重要的话,使用Wordpress。

编辑:

我被要求发布我希望它的样子。我认为这很简单,但无论如何它仍然存在:

@ Entry1
@ Entry2
@ Entry3

编辑#2:

我更喜欢它在CSS中,如果那不可能,那么PHP。 Javascript将是我想要的最后一个解决方案。

我尝试了以下内容,但根本没有效果:

.myform.lines br {
    border-bottom: 1px dashed #000000;
    background-color: #ffffff;
    display: block;
}

2 个答案:

答案 0 :(得分:1)

嗨看看Can you target <br /> with css?

我尝试了以下html页面:

<html><head><title>Test</title>
</head><body>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $('br').replaceWith('<br>@ ');
});
</script>
hi<br>
there<br>
testing<p>
again<p>
</body></html>

这导致

hi
@ there
@ testing

again

这里有一些代码也基本相同 - 它在每行的开头添加一个符号(@)(假设新行跟随br)。

<html><head><title>test2</title>
<script type="text/javascript">
function replaceLineBreaksWithHorizontalRulesInElement(element)
{
    elems = element.getElementsByTagName( 'br' );
    for ( var i = 0; i < elems.length; i ++ )
    {
        br = elems.item( i );
        txt = document.createTextNode("@ ");
        br.parentNode.insertBefore(txt, br.nextSibling);
    }
}
</script>
</head>
<body onload="replaceLineBreaksWithHorizontalRulesInElement(document)">
testing<br>
one<br>
two<br>
three<br>
four<br>
five<p>
six<p>
</body></html>

请注意,这在firefox和Internet Explorer中都有效,但结果相同。如果你删除空格然后firefox仍然显示一个空格,并且Internet Explorer没有显示空格。我认为这对你来说不是问题,因为你想要这个空间。

答案 1 :(得分:0)

怎么样

.mySelector:before { content: '@'; }