网络编程
位置:首页>> 网络编程>> php编程>> PHP正则表达式替换<pre>标签外的内容

PHP正则表达式替换<pre>标签外的内容

作者:爱E族  发布时间:2023-05-22 10:47:12 

标签:PHP,正则表达式

有时候,我们需要替换指定标签外的内容,而保留标签里面的内容不替换。比如当我们要在浏览器中显示出编辑器显示的原始格式时、需要将普通换行符“\n\r、\n、、\r”,替换为html换行标签“<br/>”,而由于“<pre>”标签中的内容自动会保留原始格式,所以不需要替换。要带到此目的,可以用下面方法:

<?php

/**

* PHP 正则表达式替换指定标签外的内容

* 作者:爱E族: aiezu.com

*/

$content = <<<END

爱E族:aiezu.com

正常文本内容

需要将换行符替换成“br”换行符

 

<pre>

这是pre里面的内容

换行符不替换成“br”

</pre>

END;

 

$content = preg_replace_callback("#(?:<pre>.+?</pre>)|(?:\n\r|\n|\r)#s", function( $match ) {

    if ( strpos($match[0], '<pre>') === 0 ) {

        return $match[0];

    }

    return "<br/>\n";

}, $content);

echo $content;


输出结果:

爱E族:aiezu.com<br/>

正常文本内容<br/>

需要将换行符替换成“br”换行符<br/>

<br/>

<pre>

这是pre里面的内容

换行符不替换成“br”

</pre>

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com