如何使用 PHP 分解孟加拉语文本以将所有内容保存到数据库?
How to explode a Bengali text using PHP to save all content to Database?
我有一个内容丰富的文件 (.txt),其中包含孟加拉语和阿拉伯语,我想拆分(分解)该文件的内容,然后将其插入数据库。
我以前为英语和波斯语做过这个,但我不知道为什么 PHP 不懂孟加拉语。
该文件的一些文本:
১। গৃহ যুদ্ধের সময় উষ্ট্র শাবকের মতো হয়ে যেয়ো, যার পিঠ এমন শক্ত নয়
যাতে চড়া যায় অথবা বাট এমন নয় যা দোহন করা যায়।
1- قَالَ (عليهالسلام) : كُنْ فِي الْفِتْنَةِ كَابْنِ اللَّبُونِ لَا
ظَهْرٌ فَيُرْكَبَ وَ لَا ضَرْعٌ فَيُحْلَبَ
২। যে লোভে অভ্যস্ত হয়ে পড়ে সে নিজেকে অবমূল্যায়ন করে, যে নিজের অভাব
অনটনের কথা প্রকাশ করে সে নিজকে অবমানিত করে, আর যার জিহবা আত্মাকে
পরাভূত করে তার আত্মা দুষিত হয়ে পড়ে।
2- وَ قَالَ (عليهالسلام) : أَزْرَى بِنَفْسِهِ مَنِ اسْتَشْعَرَ
الطَّمَعَ.وَ رَضِيَ بِالذُّلِّ مَنْ كَشَفَ عَنْ ضُرِّهِ. وَ هَانَتْ
عَلَيْهِ نَفْسُهُ مَنْ أَمَّرَ عَلَيْهَا لِسَانَهُ.
৩। কৃপণতা লজ্জা এবং কাপুরুষতা ত্রুটি। আর দারিদ্র একজন বুদ্ধিমান লোককেও
তার নিজের বেলায় যুক্তি প্রদর্শন করতে ব্যর্থ করে এবং দুঃস্থ ব্যক্তি তার
নিজের শহরেও আগন্তুকের মত।
3- وَ قَالَ (عليهالسلام) : الْبُخْلُ عَارٌ وَ الْجُبْنُ مَنْقَصَةٌ وَ
الْفَقْرُ يُخْرِسُ الْفَطِنَ عَنْ حُجَّتِهِ وَ الْمُقِلُّ غَرِيبٌ فِي
بَلْدَتِهِ
৪। অযোগ্যতা বজ্রাঘাত, ধৈর্য সাহসিকতা, মিতাচার ধন-সম্পদ, আত্মপ্রত্যয়
বর্ম এবং সর্বোত্তম সাথি হলো আল্লাহর ইচ্ছায় সমর্পিত হওয়া।
4- وَ قَالَ (عليهالسلام) : الْعَجْزُ آفَةٌ وَ الصَّبْرُ شَجَاعَةٌ وَ
الزُّهْدُ ثَرْوَةٌ وَ الْوَرَعُ جُنَّةٌ وَ نِعْمَ الْقَرِينُ الرِّضَى
৫। জ্ঞান শ্রদ্ধাস্পদ সম্পত্তি, সদাচারণ নতুন পোষাক এবং চিন্তা স্বচ্ছ
আয়না।
5- وَ قَالَ (عليهالسلام):الْعِلْمُ وِرَاثَةٌ كَرِيمَةٌ وَ الْآدَابُ
حُلَلٌ مُجَدَّدَةٌ وَ الْفِكْرُ مِرْآةٌ صَافِيَةٌ
৬। জ্ঞানীদের বক্ষ তার গুপ্ত বিষয়ের সিন্দুক, প্রফুল্লতা বন্ধুত্বের
বন্ধন এবং কার্যকর ধৈর্য সকল দোষত্রুটির কবর।
6- وَ قَالَ (عليهالسلام): صَدْرُ الْعَاقِلِ صُنْدُوقُ سِرِّهِ وَ
الْبَشَاشَةُ حِبَالَةُ الْمَوَدَّةِ وَ الِاحْتِمَالُ قَبْرُ
الْعُيُوبِئ {وَ رُوِيَ أَنَّهُ قَالَ فِي الْعِبَارَةِ عَنْ هَذَا
الْمَعْنَى أَيْضاً الْمَسْأَلَةُ خِبَاءُ الْعُيُوبِ وَ مَنْ رَضِيَ
عَنْ نَفْسِهِ كَثُرَ السَّاخِطُ عَلَيْهِ}.
৭। বদান্যতা কার্যকর চিকিৎসা, এ জীবনের আমল পরকালে চোখের সামনে দেখতে
পাবে।
7- وَ الصَّدَقَةُ دَوَاءٌ مُنْجِحٌ وَ أَعْمَالُ الْعِبَادِ فِي
عَاجِلِهِمْ نُصْبُ أَعْيُنِهِمْ فِي آجَالِهِمْ
৮। মানুষ কী আশ্চর্যজনক যে, সে চর্বি আর এক টুরকা মাংস দ্বারা কথা বলে,
একটা হাড় দ্বারা শুনে এবং একটা ছিদ্র দ্বারা শ্বাস-প্রশ্বাস নেয়।
8- وَ قَالَ (عليهالسلام) :اعْجَبُوا لِهَذَا الْإِنْسَانِ يَنْظُرُ
بِشَحْمٍ وَ يَتَكَلَّمُ بِلَحْمٍ وَ يَسْمَعُ بِعَظْمٍ وَ يَتَنَفَّسُ
مِنْ خَرْمٍ.
৯। কারো ভাগ্য সুপ্রসন্ন হলে পৃথিবী যখন অনুকূলে আসে তখন অন্যের ভালো
কাজের সুকীর্তি তার নামে হয়, আর পৃথিবী প্রতিকূলে গেলে নিজের ভালো কাজের
সুনাম থেকে সে বঞ্চিত হয়।
9- وَ قَالَ (عليهالسلام)إِذَا أَقْبَلَتِ الدُّنْيَا عَلَى أَحَدٍ
أَعَارَتْهُ مَحَاسِنَ غَيْرِهِ وَ إِذَا أَدْبَرَتْ عَنْهُ سَلَبَتْهُ
مَحَاسِنَ نَفْسِهِ.
১০। মানুষের সাথে দেখা হলে এমন আচরণ করবে যেন তোমার মৃত্যুতে তারা কাঁদে
এবং তুমি বেঁচে থাকলে তারা তোমার দীর্ঘায়ূ কামনা করে।
10- وَ قَالَ (عليهالسلام):خَالِطُوا النَّاسَ مُخَالَطَةً إِنْ مِتُّمْ
مَعَهَا بَكَوْا عَلَيْكُمْ وَ إِنْ عِشْتُمْ حَنُّوا إِلَيْكُمْ.
১১। প্রতিপক্ষের ওপর জয়ী হলে তাকে ক্ষমা করো।
11- وَ قَالَ (عليهالسلام) : إِذَا قَدَرْتَ عَلَى عَدُوِّكَ فَاجْعَلِ
الْعَفْوَ عَنْهُ شُكْراً لِلْقُدْرَةِ عَلَيْهِ
我要pipe character爆炸(正如你所见,在所有孟加拉语句子的末尾都有一个|叫什么管道)
并且当我复制该管道 (|) 以在爆炸中使用它时,我不知道为什么 php 不知道它,也不要爆炸任何东西!
$text=file_get_contents("1-40.txt");
$explode=explode("।",$text);
print_r($explode);
解决方法是什么?
*注意:我不懂孟加拉语和阿拉伯语
也许检查您的文件编码或环境设置。
我刚刚使用了一个 UTF-8 文件,复制了您的文本并且它有效 "fine"。
看看这里。
var_dump( explode('।', $text) );
用作分隔符的字符命名为devanagari danda 0x964
/ ।
- you can find it with some online unicode lookup tools like this one
这不是 PHP 的错,因为它在 this demo 中运行良好。
我会说您的 .txt
文件存在编码问题。也许你只想 "explode" 代替数字,使用 preg_split()
:
preg_split("/\d\-/", $text);
我相信字符 ।
用于格式化孟加拉语中的编号列表(如英语格式中的点,如 1. 2. 3. 等)并且至少在示例中提供了所有段落的一部分使用换行符分隔句子的孟加拉语和阿拉伯语版本。因此,要分隔段落,您可以使用以下内容:
$arr = array_filter(explode(PHP_EOL, $txt));
var_dump($arr);
我有一个内容丰富的文件 (.txt),其中包含孟加拉语和阿拉伯语,我想拆分(分解)该文件的内容,然后将其插入数据库。
我以前为英语和波斯语做过这个,但我不知道为什么 PHP 不懂孟加拉语。
该文件的一些文本:
১। গৃহ যুদ্ধের সময় উষ্ট্র শাবকের মতো হয়ে যেয়ো, যার পিঠ এমন শক্ত নয় যাতে চড়া যায় অথবা বাট এমন নয় যা দোহন করা যায়।
1- قَالَ (عليهالسلام) : كُنْ فِي الْفِتْنَةِ كَابْنِ اللَّبُونِ لَا ظَهْرٌ فَيُرْكَبَ وَ لَا ضَرْعٌ فَيُحْلَبَ
২। যে লোভে অভ্যস্ত হয়ে পড়ে সে নিজেকে অবমূল্যায়ন করে, যে নিজের অভাব অনটনের কথা প্রকাশ করে সে নিজকে অবমানিত করে, আর যার জিহবা আত্মাকে পরাভূত করে তার আত্মা দুষিত হয়ে পড়ে।
2- وَ قَالَ (عليهالسلام) : أَزْرَى بِنَفْسِهِ مَنِ اسْتَشْعَرَ الطَّمَعَ.وَ رَضِيَ بِالذُّلِّ مَنْ كَشَفَ عَنْ ضُرِّهِ. وَ هَانَتْ عَلَيْهِ نَفْسُهُ مَنْ أَمَّرَ عَلَيْهَا لِسَانَهُ.
৩। কৃপণতা লজ্জা এবং কাপুরুষতা ত্রুটি। আর দারিদ্র একজন বুদ্ধিমান লোককেও তার নিজের বেলায় যুক্তি প্রদর্শন করতে ব্যর্থ করে এবং দুঃস্থ ব্যক্তি তার নিজের শহরেও আগন্তুকের মত।
3- وَ قَالَ (عليهالسلام) : الْبُخْلُ عَارٌ وَ الْجُبْنُ مَنْقَصَةٌ وَ الْفَقْرُ يُخْرِسُ الْفَطِنَ عَنْ حُجَّتِهِ وَ الْمُقِلُّ غَرِيبٌ فِي بَلْدَتِهِ
৪। অযোগ্যতা বজ্রাঘাত, ধৈর্য সাহসিকতা, মিতাচার ধন-সম্পদ, আত্মপ্রত্যয় বর্ম এবং সর্বোত্তম সাথি হলো আল্লাহর ইচ্ছায় সমর্পিত হওয়া।
4- وَ قَالَ (عليهالسلام) : الْعَجْزُ آفَةٌ وَ الصَّبْرُ شَجَاعَةٌ وَ الزُّهْدُ ثَرْوَةٌ وَ الْوَرَعُ جُنَّةٌ وَ نِعْمَ الْقَرِينُ الرِّضَى
৫। জ্ঞান শ্রদ্ধাস্পদ সম্পত্তি, সদাচারণ নতুন পোষাক এবং চিন্তা স্বচ্ছ আয়না।
5- وَ قَالَ (عليهالسلام):الْعِلْمُ وِرَاثَةٌ كَرِيمَةٌ وَ الْآدَابُ حُلَلٌ مُجَدَّدَةٌ وَ الْفِكْرُ مِرْآةٌ صَافِيَةٌ
৬। জ্ঞানীদের বক্ষ তার গুপ্ত বিষয়ের সিন্দুক, প্রফুল্লতা বন্ধুত্বের বন্ধন এবং কার্যকর ধৈর্য সকল দোষত্রুটির কবর।
6- وَ قَالَ (عليهالسلام): صَدْرُ الْعَاقِلِ صُنْدُوقُ سِرِّهِ وَ الْبَشَاشَةُ حِبَالَةُ الْمَوَدَّةِ وَ الِاحْتِمَالُ قَبْرُ الْعُيُوبِئ {وَ رُوِيَ أَنَّهُ قَالَ فِي الْعِبَارَةِ عَنْ هَذَا الْمَعْنَى أَيْضاً الْمَسْأَلَةُ خِبَاءُ الْعُيُوبِ وَ مَنْ رَضِيَ عَنْ نَفْسِهِ كَثُرَ السَّاخِطُ عَلَيْهِ}.
৭। বদান্যতা কার্যকর চিকিৎসা, এ জীবনের আমল পরকালে চোখের সামনে দেখতে পাবে।
7- وَ الصَّدَقَةُ دَوَاءٌ مُنْجِحٌ وَ أَعْمَالُ الْعِبَادِ فِي عَاجِلِهِمْ نُصْبُ أَعْيُنِهِمْ فِي آجَالِهِمْ
৮। মানুষ কী আশ্চর্যজনক যে, সে চর্বি আর এক টুরকা মাংস দ্বারা কথা বলে, একটা হাড় দ্বারা শুনে এবং একটা ছিদ্র দ্বারা শ্বাস-প্রশ্বাস নেয়।
8- وَ قَالَ (عليهالسلام) :اعْجَبُوا لِهَذَا الْإِنْسَانِ يَنْظُرُ بِشَحْمٍ وَ يَتَكَلَّمُ بِلَحْمٍ وَ يَسْمَعُ بِعَظْمٍ وَ يَتَنَفَّسُ مِنْ خَرْمٍ.
৯। কারো ভাগ্য সুপ্রসন্ন হলে পৃথিবী যখন অনুকূলে আসে তখন অন্যের ভালো কাজের সুকীর্তি তার নামে হয়, আর পৃথিবী প্রতিকূলে গেলে নিজের ভালো কাজের সুনাম থেকে সে বঞ্চিত হয়।
9- وَ قَالَ (عليهالسلام)إِذَا أَقْبَلَتِ الدُّنْيَا عَلَى أَحَدٍ أَعَارَتْهُ مَحَاسِنَ غَيْرِهِ وَ إِذَا أَدْبَرَتْ عَنْهُ سَلَبَتْهُ مَحَاسِنَ نَفْسِهِ.
১০। মানুষের সাথে দেখা হলে এমন আচরণ করবে যেন তোমার মৃত্যুতে তারা কাঁদে এবং তুমি বেঁচে থাকলে তারা তোমার দীর্ঘায়ূ কামনা করে।
10- وَ قَالَ (عليهالسلام):خَالِطُوا النَّاسَ مُخَالَطَةً إِنْ مِتُّمْ مَعَهَا بَكَوْا عَلَيْكُمْ وَ إِنْ عِشْتُمْ حَنُّوا إِلَيْكُمْ.
১১। প্রতিপক্ষের ওপর জয়ী হলে তাকে ক্ষমা করো।
11- وَ قَالَ (عليهالسلام) : إِذَا قَدَرْتَ عَلَى عَدُوِّكَ فَاجْعَلِ الْعَفْوَ عَنْهُ شُكْراً لِلْقُدْرَةِ عَلَيْهِ
我要pipe character爆炸(正如你所见,在所有孟加拉语句子的末尾都有一个|叫什么管道)
并且当我复制该管道 (|) 以在爆炸中使用它时,我不知道为什么 php 不知道它,也不要爆炸任何东西!
$text=file_get_contents("1-40.txt");
$explode=explode("।",$text);
print_r($explode);
解决方法是什么?
*注意:我不懂孟加拉语和阿拉伯语
也许检查您的文件编码或环境设置。
我刚刚使用了一个 UTF-8 文件,复制了您的文本并且它有效 "fine"。
看看这里。
var_dump( explode('।', $text) );
用作分隔符的字符命名为devanagari danda 0x964
/ ।
- you can find it with some online unicode lookup tools like this one
这不是 PHP 的错,因为它在 this demo 中运行良好。
我会说您的 .txt
文件存在编码问题。也许你只想 "explode" 代替数字,使用 preg_split()
:
preg_split("/\d\-/", $text);
我相信字符 ।
用于格式化孟加拉语中的编号列表(如英语格式中的点,如 1. 2. 3. 等)并且至少在示例中提供了所有段落的一部分使用换行符分隔句子的孟加拉语和阿拉伯语版本。因此,要分隔段落,您可以使用以下内容:
$arr = array_filter(explode(PHP_EOL, $txt));
var_dump($arr);