| @@ -972,5 +972,18 @@ | ||
| 972 | 972 | |
| 973 | 973 | public static function encode_string( string $decoded_string ): string { |
| 974 | 974 | return base64_encode( $decoded_string ); |
| 975 | 975 | } |
| 976 | + | |
| 977 | + public static function html_to_plain_text( string $html ): string { | |
| 978 | + if ( empty( $html ) ) { | |
| 979 | + return ''; | |
| 980 | + } | |
| 981 | + | |
| 982 | + $text = preg_replace( '#<br\s*/?\s*>#i', ' ', $html ); | |
| 983 | + $text = preg_replace( '#</?[a-z][^>]*>#i', ' ', $text ); | |
| 984 | + $text = html_entity_decode( $text, ENT_QUOTES, 'UTF-8' ); | |
| 985 | + $text = str_replace( "\xE2\x80\x8B", '', $text ); | |
| 986 | + | |
| 987 | + return trim( preg_replace( '/\s+/', ' ', $text ) ); | |
| 988 | + } | |
| 976 | 989 | } |