| @@ -94,9 +94,9 @@ | ||
| 94 | 94 | $current_title = isset( $number[0] ) ? $number[0] : ''; |
| 95 | 95 | $current_tag = isset( $number[1] ) ? $number[1] : ''; |
| 96 | 96 | |
| 97 | 97 | $heading_name = preg_replace( '/<[^<]+?>/', '', $current_title ); |
| 98 | - $heading_name = ! empty( $heading_name ) ? strtolower( str_replace( " ", '-', preg_replace('/<[^>]+>|[^a-zA-Z\s\d]+/', "", html_entity_decode( $heading_name ) ) ) ) : ''; | |
| 98 | + $heading_name = ! empty( $heading_name ) ? strtolower( str_replace( " ", '-', preg_replace( '/[^\p{L}\p{N}\s]/u', "", $heading_name ) ) ) : ''; | |
| 99 | 99 | preg_match('/id="(.+?)"/', $current_title, $matches_id); |
| 100 | 100 | $heading_id = isset( $matches_id[1] ) ? strtolower( $matches_id[1] ) : ''; |
| 101 | 101 | $tag_number = ! empty( $heading_id ) ? $heading_id : ( ! empty( $heading_name ) && $this->settings->get( 'toc_dynamic_title' ) ? $heading_name : $tag_counter . '-toc-title' ); |
| 102 | 102 | |