ถามเรื่อง RegEx ครับ ช่วยด้วยครับงงมากครับ

เริ่มโดย MisterAoD, 25 มีนาคม 2007, 11:17:33

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

MisterAoD

สวัสดีครับ

สมมติผมมีข้อความอย่างนี้นะครับ

<h1>This is a Header</h1>

Content blah blah...

Another content blah blah...


ผมต้องเขียน RegEx อย่างไรครับ ให้มันออกมาเป็น

<h1>This is a Header</h1>

<p>Content blah blah...</p>

<p>Another content blah blah...</p>


ตอนนี้ที่ผมทำได้คือแค่

<p><h1>This is a Header</h1></p>
<p></p>
<p>Content blah blah...</p>
<p></p>
<p>Another content blah blah...</p>


ขอบคุณมากเลยครับ
ไม่ค่อยได้อยู่ มีอะไร mail มาครับ

iamnewbies

จะทำดูด free article ใช่ปะ

แนะนำใช้ทำแบบ ทำเป็นโปรแกรม ดูดดีกว่าครับ ใช้ VB เขียนก็ได้

เพราะทำเป็ฯสคริปแล้ว มีปัญหา  server จะล็อก Ip และรู้ว่าเป็น bot มาดูด

ทำเป้ฯโปรแกรมดูดที่เครื่องเราดีกว่าครับ
ุอิอิ  พลุบๆโพล่ๆ  เข้าๆออกๆ เสียวๆ

MisterAoD

ไม่ใช่ครับ พอดีผมจะ format article ของผมใหม่ครับ เพราะมันเยอะมาก ประมาณสามพันบทความครับ เลยจะใช้ ultraedit format ก่อนนิดนึง เพื่อเอาไปใช้ครับ ไม่ได้ใช้ดูดแต่อย่างใด
ไม่ค่อยได้อยู่ มีอะไร mail มาครับ

totiz

ลองดูอันนี้
อ้างถึง<?
   $subject = "<h1>This is a Header</h1>

Content blah blah...

Another content blah blah...";
   
   $s2 = split("\r\n", $subject);
   
   echo "<textarea cols=50 rows=20>";
   foreach($s2 as $s)
   {
      if(preg_match("/^<h1>.*<\/h1>$/", $s) || $s == '')
         echo $s."\r\n";
      else
         echo "<p>".$s."</p>\r\n";
   }
   echo "</textarea>";
   
?>

[email protected]

รีบกดเข้ามาเลย มองผ่านๆ นึกว่า VigRX

:cry:  :oops:  :cry:

EThaiZone

อ้างถึงจาก: totizลองดูอันนี้
อ้างถึง<?
   $subject = "<h1>This is a Header</h1>

Content blah blah...

Another content blah blah...";
   
   $s2 = split("\r\n", $subject);
   
   echo "<textarea cols=50 rows=20>";
   foreach($s2 as $s)
   {
      if(preg_match("/^<h1>.*<\/h1>$/", $s) || $s == '')
         echo $s."\r\n";
      else
         echo "<p>".$s."</p>\r\n";
   }
   echo "</textarea>";
   
?>

ตรง
   $subject = "<h1>This is a Header</h1>

Content blah blah...

Another content blah blah...";
ต้องเป็น

   $subject = '<h1>This is a Header</h1>

Content blah blah...

Another content blah blah...';

ครับ ใช้ " เดียวเจอ error  :D

totiz

อ้างถึงจาก: EThaiZone
อ้างถึงจาก: totizลองดูอันนี้
อ้างถึง<?
   $subject = "<h1>This is a Header</h1>

Content blah blah...

Another content blah blah...";
   
   $s2 = split("\r\n", $subject);
   
   echo "<textarea cols=50 rows=20>";
   foreach($s2 as $s)
   {
      if(preg_match("/^<h1>.*<\/h1>$/", $s) || $s == '')
         echo $s."\r\n";
      else
         echo "<p>".$s."</p>\r\n";
   }
   echo "</textarea>";
   
?>

ตรง
   $subject = "<h1>This is a Header</h1>

Content blah blah...

Another content blah blah...";
ต้องเป็น

   $subject = '<h1>This is a Header</h1>

Content blah blah...

Another content blah blah...';

ครับ ใช้ " เดียวเจอ error  :D

error นี้คือตรง ' หรือป่าวคับ
เพราะปกติที่ผมใช้ จะใช้กับตัวแปร
แล้วถ้าจะ query หรือทำอะไร  ก็ใช้ addslashes() มาช้วย  เพื่อไม่ให้เกิด error

MisterAoD

เล่นเป็นโปรแกรมเลยหรอ เอางั้นก็ได้ครับ จะได้ทำเป็นแบบ Batch ไปเลย

ทีแรกนึกว่าอยากจะได้แค่ RegEx 1 คำสั่งหนะครับ

แต่ก็ขอขอบคุณทุกท่านมากครับ

ส่วนคุณ [email protected] ครับ

ผมไม่เห็นจะกินแล้วใหญ่จริงๆ เลย เปลืองเงินเปล่าๆ อิอิ
ไม่ค่อยได้อยู่ มีอะไร mail มาครับ

[email protected]

อ้างถึงจาก: MisterAoD
ส่วนคุณ [email protected] ครับ

ผมไม่เห็นจะกินแล้วใหญ่จริงๆ เลย เปลืองเงินเปล่าๆ อิอิ

ลองแล้วหรอคับ อิอิ :lol:

MisterAoD

ไม่ค่อยได้อยู่ มีอะไร mail มาครับ