使用不同语言文本时 Preg_replace 错误。 (去掉线条)

发布于 2024-11-26 13:32:08 字数 1006 浏览 0 评论 0原文

我有这样的内容,

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

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

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

我想摆脱所有的线条,所以我得到这样的东西。

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

我正在使用此代码 preg_replace("/\n+||\r+/"," ", $content); 但问题是我的输出是:

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

我也尝试过 mb_ereg_replace 但得到了相同的结果。 当我使用这个 preg_replace("/\n+||\r+/","", $content); 那么它很好,但问题是我需要文本之间的空格,所以而不是有一条新线我需要一个空间。我也尝试过序列化。 预先感谢您。

I have content like this

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

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

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

I want to get rid of all the lines so i get something like this.

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

I am using this code preg_replace("/\n+||\r+/"," ", $content); but the problem is that I my output is:

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

I have also tried mb_ereg_replace but I get the same results.
When i use this preg_replace("/\n+||\r+/","", $content); then it is fine but the problem is that I need space inbetween the text, so instead of having a new line I need a space. I have also tried seriallize.
Thanks you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

荆棘i 2024-12-03 13:32:08

preg_replace 按字节工作,除非您传递 U 标志。您的正则表达式不仅用空格替换换行符,而且还在每个字节之间插入空格,因为它与空字符串匹配。这破坏了 UTF-8 编码。

您可能打算使用类似 '/[\r\n]+/' 之类的正则表达式。

preg_replace works bytewise, unless you pass the U flag. And your regular expression is not only replacing newlines with spaces, it is also inserting a space between every byte since it matches the empty string. Which breaks the UTF-8 encoding.

You probably meant to use a regular expression something like '/[\r\n]+/' instead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文