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

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

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

User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 18603
Joined: 31/03/2014 10:02 am
Contact:

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

Postby thatsawan » 09/11/2016 5:46 pm

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

Code: Select all

#AAAAAA 
#errererer  




Code: Select all

$post_text = '#errererer ทดสอบทดสอบ #AAAAAA ทดสอบทดสอบทดสอบทดสอบทดส'
                . 'อบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบ'
                . 'ทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดส'
                . 'อบ [code]ทดสอบ[/code] [color=#FF0000]ทดสอบ[/color]ทดสอบ'
                . 'บทอบ<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: Select all

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



Code: Select all

   $post_text = '#errererer ทดสอบทดสอบ #AAAAAA ทดสอบทดสอบทดสอบทดสอบทดส'
                . 'อบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบ'
                . 'ทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดสอบทดส'
                . 'อบ [code]ทดสอบ[/code] [color=#FF0000]ทดสอบ[/color]ทดสอบ'
                . 'บทอบ<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: Select all

Array ( [0] => errererer )

User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 10275
Joined: 18/04/2012 9:39 am

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

Postby tsukasaz » 09/11/2016 6:29 pm

Code: Select all

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


Code: Select all

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)

User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 18603
Joined: 31/03/2014 10:02 am
Contact:

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

Postby thatsawan » 09/11/2016 6:43 pm

ขอบคุณค่ะ รักที่สุดในโลกกกกเยย^^


Return to “Programming - PHP”

Who is online

Users browsing this forum: Golff Sinlapachai and 47 guests