2015-07-03 34 views
0

我有一個字符串,其中包含一個新的換行符和一些非utf8字符。我正在嘗試編寫一些將替換非UTF-8字符的正則表達式,但它應該保留行結束符。正則表達式去除非UTF-8字符,但新行

下面是我從PHP

PHP preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $string); 

有其剝離非UTF-8字符,但它也剝了新行結束,我無法找出如何做到這一點。我試過/[\x00-\x1F\x80-\xFF\^\n]/但沒有奏效。

謝謝

回答

1

在開始處添加負向預測。現在這將不匹配換行符。

preg_replace('/(?!\n)[\x00-\x1F\x80-\xFF]/', '', $string); 

preg_replace('/(?![\n\r])[\x00-\x1F\x80-\xFF]/', '', $string); 
+0

感謝完美的作品 – Boardy

相關問題