76 $subject_of_parent_posting = trim($subject_of_parent_posting);
77 $subject_of_reply =
'';
82 -((
self::$f[
'strlen'])(self::EXPECTED_REPLY_PREFIX_END))
83 ) !== self::EXPECTED_REPLY_PREFIX_END) {
90 -((
self::$f[
'strlen'])(self::EXPECTED_REPLY_PREFIX_END))
91 ) !== self::EXPECTED_REPLY_PREFIX_END) {
95 $optimized_repeated_reply_prefix_start = substr_replace(
97 self::EXPECTED_NUMBER_WRAPPER_CHAR_START,
99 (
self::$f[
'strlen'])(self::EXPECTED_REPLY_PREFIX_END)
102 $optimized_repeated_reply_prefix_begin_pattern = preg_quote(
104 $optimized_repeated_reply_prefix_start,
107 $optimized_repeated_reply_prefix_start,
108 self::EXPECTED_NUMBER_WRAPPER_CHAR_START
114 $optimized_repeated_reply_prefix_regex = implode(
'', [
116 $optimized_repeated_reply_prefix_begin_pattern,
117 '\s*?' . self::EXPECTED_NUMBER_WRAPPER_CHAR_START_PATTERN .
'\s*?\d+\s*?' . self::EXPECTED_NUMBER_WRAPPER_CHAR_END_PATTERN,
121 if (preg_match($optimized_repeated_reply_prefix_regex, $subject_of_parent_posting)) {
124 $subject_of_parent_posting
129 $subject_of_parent_posting,
135 return $subject_of_reply;
handleSubjectWithoutReplyPrefixOrRepeatedReplyPrefix(string $subject_of_parent_posting, string $effective_reply_prefix, string $effective_optimized_repeated_reply_prefix)
string $optimized_repeated_reply_prefix
handleSubjectStartsWithOptimizedRepetitionReplyPattern(string $subject_of_parent_posting)