PHP: កាត់សេចក្តីដកស្រង់ចេញពីពាក្យដោយប្រើ strrpos

កូដ HTML

ប្រសិនបើអ្នកកំពុងធ្វើការជាមួយ PHP ហើយអ្នកចង់បង្ហាញតែការដកស្រង់ចេញពីអត្ថបទប្រភពរបស់អ្នកហើយកាត់វាចោលនៅតួអក្សរមួយចំនួនការដកស្រង់របស់អ្នកអាចមើលទៅមិនស្អាតប្រសិនបើវាត្រូវបានធ្វើនៅពាក់កណ្ដាលខ្សែអក្សរ។ ខ្ញុំត្រូវសរសេរមុខងារដើម្បីធ្វើវានៅក្នុងអេអេសអេសនិងអេអេអេអិនអិនដែលធ្វើមូលដ្ឋានគ្រឹះពីតួអក្សរចុងក្រោយត្រឡប់មកវិញដើម្បីរកចន្លោះចុងក្រោយហើយកាត់វានៅទីនោះ។ ប្រភេទនៃការអាក្រក់និងបន្តិចនៃការ overkill ។ អ្នកពិតជាអាចមើលឃើញសកម្មភាពនេះនៅលើផ្ទះរបស់ខ្ញុំ ទំព័រ កន្លែងដែលខ្ញុំផ្តល់តែ ៥០០ តួអក្សរដំបូងប៉ុណ្ណោះ។

ខ្ញុំត្រូវបានរៀបចំយ៉ាងពេញលេញក្នុងការអភិវឌ្ឍមុខងារដូចគ្នានឹងកម្មវិធី PHP សព្វថ្ងៃប៉ុន្តែបានរកឃើញ (ដូចធម្មតា) ថា PHP មានមុខងារដែលធ្វើវារួចហើយ strrpos.

លេខកូដចាស់នឹងយកពាក្យរង (មាតិកាមាតិកា) ពីតួអក្សរដំបូងទៅចំនួនតួអក្សរអតិបរមាដែលអ្នកចង់បាន ($ maxchars)៖

$ content = substr ($ មាតិកា, ០, $ maxchars); អេកូ $ មាតិកា;

លេខកូដថ្មី៖

$ content = substr ($ មាតិកា, ០, $ maxchars); $ pos = strrpos ($ មាតិកា ""); ប្រសិនបើ ($ pos> 0) {$ content = substr ($ content, 0, $ pos); } អេកូ $ មាតិកា;

ដូច្នេះលេខកូដថ្មីដំបូងកាត់មាតិកានៅដែនកំណត់តួអក្សរដែលអ្នកកំពុងរក។ ទោះយ៉ាងណាជំហានបន្ទាប់គឺត្រូវរកមើលចន្លោះចុងក្រោយ ("") នៅក្នុងមាតិកា។ $ pos នឹងចាប់ផ្តើមជាជំហរនោះ។ ឥឡូវនេះខ្ញុំគ្រាន់តែធានាថាពិតជាមានចន្លោះនៅក្នុងមាតិកាដោយសួរថាតើ $ pos> 0 ។ ប្រសិនបើមិនមានទេវាគ្រាន់តែកាត់មាតិកាចេញពីចំនួនតួអក្សរដែលខ្ញុំបានស្នើសុំ។ ប្រសិនបើមានចន្លោះទំនេរវានឹងកាត់មាតិការបស់ខ្ញុំចេញពីកន្លែងទំនេរ។

នេះគឺជាវិធីល្អមួយក្នុងការប្រើបន្សំនៃចំនួនតួអក្សរអតិបរមានិងកាត់វាតាមពាក្យ។ សង្ឃឹមថាអ្នកចូលចិត្ត!

ហើយខ្ញុំប្រាកដថាខ្ញុំនឹងរកឃើញថាតើមានមុខងារ ASP.NET ដែលធ្វើដូចនេះទេ ... ខ្ញុំមិនអាចរកបានទេ។

7 យោបល់

  1. 1
  2. 2
  3. 3
  4. 4

    ប្រសិនបើមាតិកា $ ដំបូងមានអាយុតិចជាង $ maxchars លេខកូដដែលបានសរសេរនឹងនៅតែមើលទៅស្តាំដើម្បីទុកចន្លោះហើយកាត់ពាក្យចុងក្រោយ។ អ្នកអាចសង្ខេបចន្លោះនៅចុងមាតិកា $ ឬធ្វើបើ (strlen () …)

  5. 5

    នេះហាក់ដូចជាដំណើរការជាមុខងារ (ដោះស្រាយសេចក្តីអធិប្បាយមុន)៖

    មុខងារ showexcerpt ($ មាតិកា, $ maxchars) {

    ប្រសិនបើ (strlen ($ មាតិកា)> $ maxchars) {

    $ content = substr ($ មាតិកា, ០, $ maxchars);
    $ pos = strrpos ($ មាតិកា "");

    ប្រសិនបើ ($ pos> 0) {
    $ content = substr ($ មាតិកា, ០, $ pos);
    }

    ត្រឡប់មាតិកា $ ។ "... ";

    } ផ្សេងទៀត {

    ត្រឡប់មាតិកា $;

    }

    }

  6. 6

    តើមានអ្វីកើតឡើងប្រសិនបើតួអក្សរចុងក្រោយរបស់យើងគឺជាតួអក្សរវណ្ណយុត្តិដូចជាសញ្ញាឈប់, សញ្ញាឧទានឬសញ្ញាសួរ? ជាអកុសលលេខកូដនេះនឹងលុបពាក្យទាំងមូលដែលមានវណ្ណយុត្តិដែលបាននិយាយ។  

    ខ្ញុំគិតថាអ្នកគួរតែសរសេរអ្វីដែលរឹងមាំជាងនេះបន្តិច។

  7. 7

តើ​អ្នក​គិត​អ្វី?

តំបន់បណ្ដាញនេះប្រើ Akismet ដើម្បីកាត់បន្ថយសារឥតបានការ។ សិក្សាអំពីរបៀបដែលទិន្នន័យរបស់អ្នកត្រូវបានដំណើរការ.