ต้องการค้นหาเเละเเทนที่ ค่าว่างเเทนในข้อความค่ะ

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: ต้องการค้นหาเเละเเทนที่ ค่าว่างเเทนในข้อความค่ะ

Re: ต้องการค้นหาเเละเเทนที่ ค่าว่างเเทนในข้อความค่ะ

โดย thatsawan » 29/05/2019 1:54 pm

ปัญหามาจาก มันมี \n ติดมาด้วย

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

[quote=admin post_id=26 time=1559013367 user_id=2]
aaaaaaaaaaggg

[b][size=150]sdfdsfds[/size][/b]
[/quote] 

Re: ต้องการค้นหาเเละเเทนที่ ค่าว่างเเทนในข้อความค่ะ

โดย thatsawan » 29/05/2019 9:50 am

ถ้าเราใช้

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

preg_match('/\[quote=(.*?)](.*?)\[\/quote]/', $input_line, $output_array);

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

[quote=admin post_id=27 time=1559015177 user_id=2]TEXT[/quote] 
จะได้

array(
0=>[quote=admin post_id=27 time=1559015177 user_id=2]TEXT[/quote]
1=>admin post_id=27 time=1559015177 user_id=2
2=>TEXT)

ผลลัพท์ตามที่เราต้องการ


พอมาลองใช้งานจริง

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

 preg_match('/\[quote=(.*?)](.*?)\[\/quote]/','[quote=admin post_id=26 time=1559013367 user_id=2] aaaaaaaaaaggg [b][size=150]sdfdsfds[/size][/b] [/quote]' , $output_array);
            $post_text_new = $output_array[2];
จะได้

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

 aaaaaaaaaaggg [b][size=150]sdfdsfds[/size][/b]  
ทำงานถูกต้อง

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

 $text = $post_data['post_text'];#[quote=A2 post_id=26 time=1559013367 user_id=0] aaaaaaaaaaggg [b][size=150]sdfdsfds[/size][/b] [/quote]
            preg_match('/\[quote=(.*?)](.*?)\[\/quote]/',$text , $output_array);
            $post_text_new = $output_array[2];
พอเราใส่ค่าเป็นตัวแปลง
ผลลัพท์ได้เป็น
array ว่างๆ ไม่รู้เป็นเพราะอะไร

Re: ต้องการค้นหาเเละเเทนที่ ค่าว่างเเทนในข้อความค่ะ

โดย thatsawan » 28/05/2019 10:24 pm

ลองใช้วิธีนี้

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

             $post_text_new = preg_replace('/[quote](.*?)[\/quote]/', '',$post_data['post_text']);  
ผลที่ได้ [simse]

Re: ต้องการค้นหาเเละเเทนที่ ค่าว่างเเทนในข้อความค่ะ

โดย thatsawan » 28/05/2019 10:21 pm

thatsawan เขียน:
tsukasaz เขียน:ลองใช้

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

$message = preg_replace('/\[quote=(.*?)\]/', '', $message); 
ทำตามนี้ได้เเล้วค่ะ
ลองใช้เเล้ว เจอปัญหาอีกนิดนึงค่ะ

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

[quote=admin post_id=27 time=1559015177 user_id=2]TEXT[/quote] 
ผลที่ได้

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

TEXT[/quote] 
ต้องการให้มันดึง TEXT vออกมาค่ะ

Re: ต้องการค้นหาเเละเเทนที่ ค่าว่างเเทนในข้อความค่ะ

โดย tsukasaz » 27/05/2019 3:34 pm

แบบนี้ไหม

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

preg_replace('/<cite>(.*)<\/cite>/', '', $input_lines);
แนบไฟล์
2562-05-27 15_33_54-PHP Live Regex.png
2562-05-27 15_33_54-PHP Live Regex.png (47.14 KiB) Viewed 715 times

Re: ต้องการค้นหาเเละเเทนที่ ค่าว่างเเทนในข้อความค่ะ

โดย thatsawan » 27/05/2019 3:29 pm

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

<cite><a href="./../../memberlist.php?mode=viewprofile&u=402">kotaro</a> wrote: <a href="./../../viewtopic.php?p=1788426#p1788426" data-post-id="1788426" onclick="if(document.getElementById(hash.substr(1)))href=hash">↑</a><div class="responsive-hide">Thu Jan 18, 2018 6:14 pm</div></cite> 
เเล้วถ้าเราต้องการตัดตาม <cite></cite> เเล้วให้เป็นค่าวาง เราจะเขียนยังไงได้ค่ะ ตรง ที่จะให้มันค้นหา

Re: ต้องการค้นหาเเละเเทนที่ ค่าว่างเเทนในข้อความค่ะ

โดย thatsawan » 27/05/2019 3:15 pm

tsukasaz เขียน:ลองใช้

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

$message = preg_replace('/\[quote=(.*?)\]/', '', $message);
ทำตามนี้ได้เเล้วค่ะ

Re: ต้องการค้นหาเเละเเทนที่ ค่าว่างเเทนในข้อความค่ะ

โดย tsukasaz » 27/05/2019 3:14 pm

ลองใช้

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

$message = preg_replace('/\[quote=(.*?)\]/', '', $message);  

ต้องการค้นหาเเละเเทนที่ ค่าว่างเเทนในข้อความค่ะ

โดย thatsawan » 27/05/2019 3:10 pm

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

<quote author="admin" post_id="10" time="1557559640" user_id="2"><s>[quote=admin post_id=10 time=1557559640 user_id=2]</s>
หนุ่มวิศวกรโยธา หันมาทำเกษตรกรเพาะ “เห็ดมิลค์กี้” สรรพคุณมากมาย ยอดสั่งเพียบไม่เพียงพอต่อความต้องการของตลาด<br>
‘แกสบี้‘ หรือชื่อที่เรียกกันทั่วโลกคือ Guinea Pigs (กินนี่พิก) เป็นหนูที่เหมาะสำหรับเลี้ยงไว้ดูเล่น ซึ่งจัดเป็นหนูตระกูลเดียวกับหนูตะเภา แต่ได้รับการพัฒนาสายพันธุ์ในต่างประเทศ สำหรับประเทศไทยนั้นได้รับความนิยมมาหลายสิบปีแล้ว ซึ่งปัจจุบันก็ยังเป็นสัตว์เลี้ยงที่มีคนให้ความสน
<e>[/quote]</e></quote>
ต้องการค้นหา
[quote=admin post_id=10 time=1557559640 user_id=2]
เเล้วเเทนที่ด้วยค่าวา่ง

ลองใช้คำสั่งนี่้ไม่ได้

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

  $message = preg_replace('/\[quote="(.*?)"\]/s', '', $message); 

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

$message = preg_replace('/\[quote=\\\"(.*?)\\\"\]/s', '', $message); 

ข้างบน