Problem beim Ersetzen von Zeilenumbrüchen durch

in PHP

WBOY
Freigeben: 2016-08-18 09:16:33
Original
2322 Leute haben es durchsucht

<p>用nl2br处理了从数据库里取的数据,不想使用<br>换行,想使用<p>分段。<br>网上找到的方法:

<code>$content = '<p>'.str_replace("<br />","</p><p>",$content).'</p>';
</code>
Nach dem Login kopieren
Nach dem Login kopieren
<p>但是我的数据里还有别的一些标签,转换的时候就会有问题。<br>比如我有这样一段数据:

<code>blahblah<br />
<pre class="brush:php;toolbar:false"><code><br />
blahblah<br />
blahblah<br />
</code>
Nach dem Login kopieren
Nach dem Login kopieren
<p>就会变成

<code><p>blahblah</p><p>
<pre class="brush:php;toolbar:false"><code></p><p>
blahblah</p><p>
</code>

Nach dem Login kopieren
Nach dem Login kopieren
<p>这样我的<pre class="brush:php;toolbar:false">&lt;code&gt;&lt;/code&gt;</pre>代码块就被隔断了。<br>有没有什么办法不替换<pre class="brush:php;toolbar:false">&lt;code&gt;&lt;/code&gt;</pre>里的换行?

回复内容:

<p>用nl2br处理了从数据库里取的数据,不想使用<br>换行,想使用<p>分段。<br>网上找到的方法:

<code>$content = '<p>'.str_replace("<br />","</p><p>",$content).'</p>';
</code>
Nach dem Login kopieren
Nach dem Login kopieren
<p>但是我的数据里还有别的一些标签,转换的时候就会有问题。<br>比如我有这样一段数据:

<code>blahblah<br />
<pre class="brush:php;toolbar:false"><code><br />
blahblah<br />
blahblah<br />
</code>
Nach dem Login kopieren
Nach dem Login kopieren
<p>就会变成

<code><p>blahblah</p><p>
<pre class="brush:php;toolbar:false"><code></p><p>
blahblah</p><p>
</code>

Nach dem Login kopieren
Nach dem Login kopieren
<p>这样我的<pre class="brush:php;toolbar:false">&lt;code&gt;&lt;/code&gt;</pre>代码块就被隔断了。<br>有没有什么办法不替换<pre class="brush:php;toolbar:false">&lt;code&gt;&lt;/code&gt;</pre>里的换行?

<code class="php">echo preg_replace('#([a-zA-Z]*)<br\s*\/>#', "<p>$1</p>", "blahblah<br />
<pre class="brush:php;toolbar:false"><code><br />
blahblah<br />
blahblah<br />
</code>
");
Nach dem Login kopieren

<p>p和br都是标签,没有什么转换的必要,你想要<p>的效果也就是为了好看点,所以直接用css就行了,别折腾PHP了。例如

<code>p br {margin-bottom: 1em;}
p pre br {margin-bottom: 0;}</code>
Nach dem Login kopieren
Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage