ฉันกำลังพยายามลบลิงก์ภายนอกออกจากเอกสาร HTML แต่เก็บจุดยึดไว้ แต่ฉันโชคไม่ดีนัก regex ต่อไปนี้
$html =~ s/<a href="/th.+?\.htm">(.+?)<\/a>/$1/sig;
จะจับคู่จุดเริ่มต้นของแท็ก Anchor และส่วนท้ายของแท็กลิงก์ภายนอก เช่น
<a HREF="/th#FN1" name="01">1</a>
some other html
<a href="/th155.htm">No. 155
</a> <!-- end tag not necessarily on the same line -->
ฉันก็เลยไม่ได้อะไรมาแทน
<a HREF="/th#FN1" name="01">1</a>
some other html
มันบังเอิญว่า Anchors ทั้งหมดมีแอตทริบิวต์ href เป็นตัวพิมพ์ใหญ่ ดังนั้นฉันจึงรู้ว่าฉันสามารถจับคู่แบบคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ได้ แต่ฉันไม่ต้องการพึ่งพาให้เป็นเช่นนั้นในอนาคต
เป็นสิ่งที่ฉันสามารถเปลี่ยนแปลงได้เพื่อให้ตรงกับแท็ก a
เพียงแท็กเดียวหรือไม่
system
: ดู perl.plover.com /yak/12views/samples/slide003.html - person Sinan Ünür   schedule 21.10.2009