我有一个从数据库字符串,它是写不正确的:
$string = " <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN <br />style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt"><SPAN <br />style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt">M</SPAN>.Of. <br />nr. 1 din 5 ianuarie 1998</SPAN></P><SPAN <br />style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt"><br /><P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN <br />style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt"><FONT <br />color=#0000ff>NOTA ETO a se vedea: 1) Regulamentele</FONT> <A <br />href="doc:910013103/33">nr. 131/1991, <A <br />href="doc:1010117203/2">1172/2001, <A <br />href="doc:1050089003/2">890/2005.</SPAN></P><br /><P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN <br />style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt"> <br /><FONT color=#0000ff>2) Norme metodologice <A <br />href="doc:1020012755/5">nr.127/2002.</FONT></SPAN></P><br /><P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN <br />style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt"><FONT <br />color=#0000ff> 3) Metodologie <A <br />href="doc:1070064010/25">nr.640/2007. </FONT></P><br /> ";
我有其他的标签内<br />
标签,我不知道如何删除BR
我试图与正则表达式
$no_br = preg_replace('/(.*<.*)<br \/>(^.*>.*)/i',"$1 $2",$string);
但它不工作
我不想删除所有<br />
,就在标签内的那些
我已经使用$string = str_replace(array("\r\n", "\r", "\n" ), "<br />", $row['val'] );
转换\ n为特征线,因为我使用的是网页视图中这段文字在移动应用
替换换行符qazxsw POI标签
<br/>
用这个 :
$string = preg_replace("#<br\s*/?>#i", "\n", $string);
要么
preg_replace('/(<br[\s]?[\/]?>[\s]*){3,}/', '<br /><br />', $string);
要删除BR的所有排列:
$string=preg_replace("{(<br[\\s]*(>|\/>)\s*){2,}}i", "<br /><br />", $string);
$string=preg_replace("{(<br[\\s]*(>|\/>)\s*)}i", "<br />", $string);
检查出的用户贡献<br> <br /> <br/> <br >
功能。
strip_only()
您可以使用
echo strip_tags($string, '<br><br /><br/><br >');
或者,对于损坏或凌乱的HTML:
$s = preg_replace_callback('~<[^>]*>~', function ($m) {
return str_replace('<br />', '', $m[0]); }
, $s);
重点是:
$s = preg_replace_callback('~<[^>]*>~', function ($m) {
return preg_replace('~<\s*br\s*/?\s*>~i', '', $m[0]); }
, $s);
匹配(<[^>]*>
,比其他<
and然后然后0+字符>
)>
和preg_replace_callback
替换只有匹配的文本中的空字符串的所有str_replace('<br />', '', $m[0])
。为了解释的<br />
您可以使用另一个<br>
,preg_replace
任何变种。