summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoel Uckelman <uckelman@nomic.net>2012-02-27 01:46:09 +0100
committerJoel Uckelman <uckelman@nomic.net>2012-02-27 01:46:09 +0100
commit4988452740e4d8ae347570774f8aaece4372307d (patch)
treee7a439dd6ac703987c9140f256efd89280a47291 /src
parent423d844bc80d5157a23466248f328af99a21b91d (diff)
Added built_post_subject for stripping tags and Re's added by mailing lists.
Diffstat (limited to 'src')
-rw-r--r--src/build_post.php29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/build_post.php b/src/build_post.php
new file mode 100644
index 0000000..6d95be1
--- /dev/null
+++ b/src/build_post.php
@@ -0,0 +1,29 @@
+<?php
+
+function build_tag_pattern($tag) {
+ return '/' . preg_quote($tag, '/') . '\\s*/';
+}
+
+function build_post_subject($listtag, $forumtag, $subject) {
+ // strip the '[list]' and '[forum]' tags
+ $tagpat = '/(' . preg_quote($listtag, '/') .
+ '|' . preg_quote($forumtag, '/') . ')\\s*/';
+ $subject = preg_replace($tagpat, '', $subject);
+
+ // strip leading sequences of Re-equivalents
+ if (preg_match(
+ '/^((RE|AW|SV|VS)(\\[\\d+\\])?:\\s*)+/i',
+ $subject, $m, PREG_OFFSET_CAPTURE
+ )) {
+ $subject = substr($subject, $m[0][1]);
+ }
+
+ // ensure nonempty subject
+ if (trim($subject) == '') {
+ $subject = '(no subject)';
+ }
+
+ return $subject;
+}
+
+?>