{{ rule.text }}
+ + +]*>([\s\S]*?)<\/p>/gi
+const rulePermalinkPattern = /]*class="[^"]*\bslm-rule__permalink\b[^"]*"[^>]*>[\s\S]*?<\/a>/i
+
+function clearHtml(value: string) {
+ return value.replace(/<[^>]*>/g, '').replace(/\s+/g, ' ').trim()
+}
+
+function makeRulesSearchable(html: string) {
+ return html.replace(ruleBlockPattern, (_block, anchor: string, innerHtml: string) => {
+ const strong = innerHtml.match(/([\s\S]*?)<\/strong>/i)
+ const label = clearHtml(strong?.[1] || anchor.toUpperCase())
+ const bodyHtml = innerHtml
+ .replace(/[\s\S]*?<\/strong>/i, '')
+ .replace(rulePermalinkPattern, '')
+ .trim()
+ return ` ${bodyHtml} {{ rule.text }}${label}