2011-07-27 1 views
3

У меня есть содержание, как этотОшибка Preg_replace при использовании текста на другом языке. (Избавление от линий)

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

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

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

Я хочу, чтобы избавиться от всех линий таким образом, я получаю что-то вроде этого.

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

Я использую этот код preg_replace("/\n+||\r+/"," ", $content);, но проблема в том, что я мой выход:

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

Я также попытался mb_ereg_replace, но я получаю тот же результат. Когда я использую этот preg_replace("/\n+||\r+/","", $content);, тогда это нормально, но проблема в том, что мне нужно пространство между текстом, поэтому вместо новой строки мне нужно пространство. Я также попробовал seriallize. Спасибо вам заранее.

+0

кстати, это тамильский? – takeshin

ответ

4

preg_replace работает по-другому, если вы не передадите флаг U. И ваше регулярное выражение не только заменяет новые строки пробелами, но также вставляет пробел между каждым байтом, так как оно соответствует пустой строке. Что нарушает кодировку UTF-8.

Возможно, вы использовали регулярное выражение вместо '/[\r\n]+/'.

+0

Спасибо, человек, это идеальный человек, ваш спасатель, я пытался исправить это в течение длительного времени. –

Смежные вопросы