В настоящее время у меня есть Perl-скрипт, который импортирует HTML и преобразует его в обычный текст. Я использую HTML :: TagFilter, чтобы удалить все теги HTML, и он работает почти идеально, за исключением того, что мы столкнулись с одной проблемой. Когда HTML-код содержит нестандартные HTML-теги, такие как «заголовок» в приведенном ниже примере, эти теги не удаляются:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam pulvinar, odio ut gravida fringilla, tellus mi ultrices felis, quis porta lacus sem ut lacus. Vestibulum massa justo, tristique id aliquet in, dapibus eu leo. Nam sapien risus, dictum et porttitor quis, egestas quis dui. Ut nec nisl felis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
[caption id="sample-id" align="sample-align" width="225" caption="Sample Caption"]<a href="http://www.domain.com/image.jpg"><img class="sample-image-class" title="Sample Title" src="http://www.domain.com/image.jpg" alt="Sample Alt" width="225" height="300" /></a>[/caption]
In hac habitasse platea dictumst. Duis imperdiet bibendum dolor ut ullamcorper. Suspendisse dui erat, facilisis sed aliquet non, elementum eu urna. Donec non nisi vel augue gravida imperdiet sed id tortor. Maecenas ullamcorper velit non dui imperdiet hendrerit.
Мне нужна помощь в простом регулярном выражении Perl для полного удаления этого контента. Я пробовал кучу разных подходов, но, похоже, ничего не работает. То, что я ищу, это что-то вроде следующего, что бы найти и удалить все вхождения нестандартных тегов HTML, используя скобки []:
$text =~ s/[(\w)+](.*)[\/(\w)+]//g;
Я надеюсь, что это простое упражнение для кого-то, кто лучше в регулярных выражениях, чем я.
Заранее спасибо за помощь!