X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FUtils%2FString.php;h=4b230e1879ce9e9eb82089e04efd7d4bce856689;hb=f8307138bf292130a628e68f346535b398ae9b63;hp=82d36093ad77683e2b27848e6987e0789ed30dc8;hpb=cb6333b0f7661267b28a53815a1645070a4f75e1;p=civicrm-core.git diff --git a/CRM/Utils/String.php b/CRM/Utils/String.php index 82d36093ad..4b230e1879 100644 --- a/CRM/Utils/String.php +++ b/CRM/Utils/String.php @@ -437,10 +437,9 @@ class CRM_Utils_String { * the converted string */ public static function htmlToText($html) { - require_once 'html2text/rcube_html2text.php'; $token_html = preg_replace('!\{([a-z_.]+)\}!i', 'token:{$1}', $html); - $converter = new rcube_html2text($token_html); - $token_text = $converter->get_text(); + $converter = new \Html2Text\Html2Text($token_html, ['do_links' => 'table', 'width' => 75]); + $token_text = $converter->getText(); $text = preg_replace('!token\:\{([a-z_.]+)\}!i', '{$1}', $token_text); return $text; } @@ -530,7 +529,7 @@ class CRM_Utils_String { */ public static function stripAlternatives($full) { $matches = []; - preg_match('/-ALTERNATIVE ITEM 0-(.*?)-ALTERNATIVE ITEM 1-.*-ALTERNATIVE END-/s', $full, $matches); + preg_match('/-ALTERNATIVE ITEM 0-(.*?)-ALTERNATIVE ITEM 1-.*-ALTERNATIVE END-/s', ($full ?? ''), $matches); if (isset($matches[1]) && trim(strip_tags($matches[1])) != '' @@ -640,7 +639,7 @@ class CRM_Utils_String { $_filter = new HTMLPurifier($config); } - return $_filter->purify($string); + return $_filter->purify($string ?? ''); } /** @@ -878,8 +877,8 @@ class CRM_Utils_String { if ($fragment === '') { return TRUE; } - $len = strlen($fragment); - return substr($string, 0, $len) === $fragment; + $len = strlen($fragment ?? ''); + return substr(($string ?? ''), 0, $len) === $fragment; } /** @@ -895,8 +894,8 @@ class CRM_Utils_String { if ($fragment === '') { return TRUE; } - $len = strlen($fragment); - return substr($string, -1 * $len) === $fragment; + $len = strlen($fragment ?? ''); + return substr(($string ?? ''), -1 * $len) === $fragment; } /**