Download the PHP package gorankrgovic/spam-marker without Composer
On this page you can find all versions of the php package gorankrgovic/spam-marker. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download gorankrgovic/spam-marker
More information about gorankrgovic/spam-marker
Files in gorankrgovic/spam-marker
Package spam-marker
Short Description An extensible, simple yet powerful spam filter library
License MIT
Informations about the package spam-marker
SpamMarker PHP library
SpamMarker is a simple library for detecting spam in provided strings. It follows the open closed principle by introducing Spam Filters which are just separate classes used to extend the SpamMarker detecting capabilities.
The original idea, and actually a slightly different library, is from a lib called Spam Filter by Laju Morrison, which you can find here.
I was just tired of all sorts of spam which comes from the user input on my projects, so I finally created this.
Instalation
This library can be loaded into your projects using Composer or by re-inventing the wheel and creating your own autoloader.
Instalation via composer:
Setup and basic usage
This should be done once throughout the app.
Each time you call the check()
method on a string, it returns a SpamOutput
Object which holds the spam check result and messages.
You can change various stuff inside such as messages for each filter. with two methods:
Calling setOption function:
Or by initializing with different config
Currently provided filters
1. BlackListed Filter:
The black list detector flags a string as a spam if it contains any of one or more words that has been added to the black list. Strings could be formed from Regular Expressions or a Character Sequence.
2. BlackListedFile Filter:
This one is similar to the above but it fetches regex'es and string from provided folder.
Currently the folder is in src/Filter/blacklists
. If you want to provide your own files, upon init you must declare the folder path:
Please DO NOT forget to add the index
file which contains the filenames within the provided directory.
3. TooManyEmails Filter:
The name says it all. It matches the number of links in string. It's configurable easy like:
4. TooManyLinks Filter:
How many links we can allow in the string
5. TooManyPhones Filter:
How many phone numbers we can allow.
6. TooManyUppercase Filter:
How many uppercase words are allowed in string. Useful when someones enter the FREE FREE BLAH BLAH DISCOUNT OFF
.
Creating your own custom Filter
You create a detector simply by creating a class that implements the FilterInterface
which defines the following contract.
Your filter must return an array of:
After creating your own filter, you add it using the registerFilter()
method in the SpamMarker.
License
The MIT License (MIT). Please see LICENSE for more information.
Voila!