{"id":16939172,"url":"https://github.com/snipe/banbuilder","last_synced_at":"2025-05-15T16:05:40.182Z","repository":{"id":5640370,"uuid":"6848837","full_name":"snipe/banbuilder","owner":"snipe","description":"Composer package for censoring profanity in web applications, forums, etc.","archived":false,"fork":false,"pushed_at":"2023-12-06T20:33:58.000Z","size":391,"stargazers_count":329,"open_issues_count":58,"forks_count":99,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-07T21:13:27.154Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.banbuilder.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snipe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-11-25T08:16:46.000Z","updated_at":"2025-02-25T17:21:28.000Z","dependencies_parsed_at":"2024-06-18T12:25:08.262Z","dependency_job_id":"783bfe43-05fa-40e7-807e-dd22571c18f1","html_url":"https://github.com/snipe/banbuilder","commit_stats":{"total_commits":118,"total_committers":27,"mean_commits":4.37037037037037,"dds":"0.43220338983050843","last_synced_commit":"621d6d857400983d0fd6cd291f105a835a317748"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snipe%2Fbanbuilder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snipe%2Fbanbuilder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snipe%2Fbanbuilder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snipe%2Fbanbuilder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snipe","download_url":"https://codeload.github.com/snipe/banbuilder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254374427,"owners_count":22060611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T21:03:52.545Z","updated_at":"2025-05-15T16:05:40.146Z","avatar_url":"https://github.com/snipe.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"BanBuilder Composer Package\n===================\n\n[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/snipe/banbuilder?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge) [![Build Status](https://travis-ci.org/snipe/banbuilder.svg?branch=master)](https://travis-ci.org/snipe/banbuilder) [![Latest Stable Version](https://poser.pugx.org/snipe/banbuilder/v/stable.svg)](https://packagist.org/packages/snipe/banbuilder) [![Total Downloads](https://poser.pugx.org/snipe/banbuilder/downloads.svg)](https://packagist.org/packages/snipe/banbuilder) [![Latest Unstable Version](https://poser.pugx.org/snipe/banbuilder/v/unstable.svg)](https://packagist.org/packages/snipe/banbuilder) [![License](https://poser.pugx.org/snipe/banbuilder/license.svg)](https://packagist.org/packages/snipe/banbuilder)\n\nBanBuilder is a PHP package for profanity filtering. The PHP script uses regex to intelligently look for \"leetspeak\"-style numeric or symbol replacements.\n\nInstalling\n-------\nTo install BanBuilder, simply include it in your projects's `composer.json`. \n\n\t\"snipe/banbuilder\": \"dev-master\",\n\nThere are no additional dependencies required for this package to work.\n\nUsage\n-------\n\nPlease see the [official package website](https://banbuilder.com) for full usage details.\n\nSummary\n-------\nIn a nutshell, this code takes an array of bad words and compares it to an array of common filter-evasion tactics. It then does a string replacement to insert regex parameters into your badwords array, and then evaluates your input string to that expanded banned word list.\n\nSo in your bad words array, you might have:\n\n     [0] =\u003e 'ass'\n\nThe `preg_replace` functions replace all of the possible shenaningan letters with regex patterns (in lieu of adding the variants onto the end of the array), so the 'ass' in your array gets turned into this, right before the `preg_replace` checks for matches:\n\n     [0] =\u003e /(a|a\\.|a\\-|4|@|Á|á|À|Â|à|Â|â|Ä|ä|Ã|ã|Å|å|α)(s|s\\.|s\\-|5|\\$|§)(s|s\\.|s\\-|5|\\$|§)/i\n\nThis means that a word can have none, one or any variety of leet replacements and it will still trip the trigger. Part of the leet filter includes stripping out letter-dash and letter-dots.\n\nThis means that the following all evaluate to the \"bitch\":\n\n- B1tch\n- bi7tch\n- b.i.t.c.h.\n- b-i-t-c-h\n- b.1.t.c.h.\n- ßitch\n- and so on....\n\n[![Flattr this git repo](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=snipe\u0026url=https://github.com/snipe/banbuilder\u0026title=banbuilder\u0026language=PHP\u0026tags=github\u0026category=software)\n\nTests\n-------\nTo run the unit tests on this package, simply run `vendor/bin/phpunit` from the package directory.\n\n-----\n\n## License\n\n\tCopyright (C) 2013 Alison Gianotto - snipe@snipe.net\n\n\tThis program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU Affero General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU Affero General Public License for more details.\n\n    You should have received a copy of the GNU Affero General Public License\n    along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnipe%2Fbanbuilder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnipe%2Fbanbuilder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnipe%2Fbanbuilder/lists"}