2011-07-27 12 views
3

我有這樣Preg_replace錯誤,使用不同的語言文字時。 (擺脫線)

`மிழர்களி வரறில் யூலை மாதம் என்பது கனத்த மாதமாக பதிவு செய்யப்பட்டுள்ளது. 

குறிபாக ஐந்து ஆண்ளின் யூலை கள் முக்கியமானவை. 1983ம் ஆண்டிற்கு முன்பே 

யூலை மாதம் தமிழர்களுடன் பின்னிப் பிணைந்து` 

我想擺脫所有的線,所以我得到這樣的內容。

மிழர்களி வரறில் யூலை மாதம் என்பது கனத்த மாதமாக பதிவு செய்யப்பட்டுள்ளது. குறிபாக ஐந்து ஆண்ளின் யூலை கள் முக்கியமானவை. 1983ம் ஆண்டிற்கு முன்பே குறிபாக ஐந்து ஆண்ளின் யூலை கள் முக்கியமானவை. 1983ம் ஆண்டிற்கு முன்பே 

我使用此代碼preg_replace("/\n+||\r+/"," ", $content);但問題是,我在我的輸出是:

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

我也曾嘗試mb_ereg_replace但我得到了相同的結果。 當我使用這個preg_replace("/\n+||\r+/","", $content);那麼它是好的,但問題是我需要在文本之間的空間,所以而不是有一個新的行我需要一個空間。我也嘗試seriallize。 非常感謝您。

+0

btw,這是泰米爾語嗎? – takeshin

回答

4

preg_replace按字節方式工作,除非您通過U標誌。而你的正則表達式不僅用空格替換換行符,它還在每個字節之間插入一個空格,因爲它與空字符串匹配。這打破了UTF-8編碼。

您可能打算使用類似'/[\r\n]+/'的正則表達式。

+0

謝謝你,這是一個完美的人,你的一個救星,我試圖解決這個很長一段時間。 –