我要替换“
,\ r,\ n”这些字符并从字符串中断开标签。我尝试构建以下正则表达式,但失败了。
$strText = preg_replace( '/[^\r|\n]|<br\W*?\/>/', ' ', $strText );
例如:-
$strtext = 'Test111<br>222<br/>333\r444\n555';
Expected = 'Test111 222 333 444 555';
答案 0 :(得分:0)
您可以使用以下解决方案:
$strText = 'Test111<br>222<br/>333\r444\n555';
$strText = preg_replace('/(<br\/*>|\\\r|\\\n)/', ' ', $strText);
var_dump($strText); //string(23) "Test111 222 333 444 555"
答案 1 :(得分:0)
我会使用一个数组
$strText = preg_replace( [
"/[\r\n]/", //New Lines
"/<br[^>]*>/", //Break tags
"/\s{2,}/" //Run-on spaces
], " ", $strText );
使用数组时,替换操作是按顺序进行的,因此我们可以在末尾放置\s{2,}
2个或更多空格以获取任何可用空格。