สอบถาม preg_match_all เลือกข้อความที่ต้องการ ทำยังไงค่ะ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

สอบถาม preg_match_all เลือกข้อความที่ต้องการ ทำยังไงค่ะ

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

ต้องการดึงคำ ออกจากข้อความค่ะ เเต่ทำเเล้วมันไม่ได้

โค้ด: เลือกทั้งหมด

#AAAAAA 
#errererer  

โค้ด: เลือกทั้งหมด

$post_text = '#errererer ทดสอบทดสอบ #AAAAAA ทดสอบทดสอบทดสอบทดสอบทดส'
                . 'อบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบ'
                . 'ทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดส'
                . 'อบ [code]ทดสอบ
 ทดสอบทดสอบ'
                . 'บทอบ<span style="color: #FF0000">ทดสอบ</span>ทดสอบทดสอบทดสอบทดสอบทดสอบท';
        
        $returnValue = preg_match_all('/(#\\w+)/', $post_text, $matches);
        ///#[a-f0-9]{6}]/i
        ///^#[a-f0-9]{6}$/i
        foreach ($matches[0] as $value) {
            
            if (!preg_match('/#[a-f0-9]{6}]/i', $value)) {
                $tags[] = substr($value, 1);
            } 
        }[/code]


ผลที่ได้

โค้ด: เลือกทั้งหมด

 ( [0] => errererer [1] => AAAAAA [2] => FF0000 [3] => FF0000 )

โค้ด: เลือกทั้งหมด

   $post_text = '#errererer ทดสอบทดสอบ #AAAAAA ทดสอบทดสอบทดสอบทดสอบทดส'
                . 'อบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบ'
                . 'ทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดส'
                . 'อบ [code]ทดสอบ
 ทดสอบทดสอบ'
                . 'บทอบ<span style="color: #FF0000">ทดสอบ</span>ทดสอบทดสอบทดสอบทดสอบทดสอบท';
        
        $returnValue = preg_match_all('/(#\\w+)/', $post_text, $matches);
        ///#[a-f0-9]{6}]/i
        ///^#[a-f0-9]{6}$/i
        foreach ($matches[0] as $value) {
            
            if (!preg_match('/^#[a-f0-9]{6}$/i', $value)) {
                $tags[] = substr($value, 1);
            } 
        }
        print_r($tags);
        exit;[/code]

ผลที่ได้

โค้ด: เลือกทั้งหมด

Array ( [0] => errererer )
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 22100
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: สอบถาม preg_match_all เลือกข้อความที่ต้องการ ทำยังไงค่ะ

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

โค้ด: เลือกทั้งหมด

#errererer ทดสอบทดสอบ #AAAAAA ทดสอบทดสอบทดสอบทดสอบทดส อบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบ #ทดสอบ ทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบ [code]ทดสอบ
ทดสอบทดสอบบทอบ<span style="color: #FF0000">ทดสอบ</span>ทดสอบทดสอบทดสอบทดสอบทดสอบท[/code]

โค้ด: เลือกทั้งหมด

preg_match_all("/([#]\w+|[#]\W+?)\s/", $input_lines, $output_array); 
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: สอบถาม preg_match_all เลือกข้อความที่ต้องการ ทำยังไงค่ะ

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

ขอบคุณค่ะ รักที่สุดในโลกกกกเยย^^
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 56