miovisman / jevix
2.2.1
2021-03-04 06:07 UTC
Requires
- php: >=7.3.0
- ext-mbstring: *
README
由TMTM™(https://tmtm.ru)开发,用于自开源项目的自动排版和文本过滤系统。最初是Perl版本的Jevix的PHP版本,现在项目已经大大扩展。
应用领域
- 主题媒体项目(如Habr.com等)
- 无空赠予社区Дaru~дар
- 俄语互联网资源之一,专注于nix系统和开源世界NIXP.RU
- 免费博客和社交网络引擎以及主题社区LiveStreet、BigStreet和Explay CMS
- 基于CodeIgniter的网站管理系统Сogear
- 多功能的网站管理系统Alto CMS
- Codeigniter插件。与GeSHi结合使用以突出显示语法
- MODx CMS插件:主页,GitHub
- 用于方便使用Jevix在Yii中的组件Jevix
功能
- 根据指定的规则过滤用户输入的带有HTML标记的文本,允许指定的标签和属性
- 修正HTML错误并生成有效的HTML或XHTML代码
- 预防XSS攻击
- 应用适用于俄语的文本排版规则
优势
- Jevix使用“最终自动机”而非正则表达式。因此,其反向理念是:除允许的之外,其他都禁止
- 在一个文件中实现XSS过滤、验证、HTML处理和文本排版
缺点
- Jevix使用
分隔行。它无法创建段落
,而且在现有的架构概念中可能无法学习到这一点 - 作者不再开发此项目,已转向Python,并逐渐忘记了PHP语法。不过,PULL请求是受欢迎的
使用示例
<? require('jevix.class.php'); $jevix = new MioVisman\Jevix\Jevix(); //Конфигурация // Устанавливаем разрешённые теги. (Все не разрешенные теги считаются запрещенными.) $jevix->cfgAllowTags(array('a', 'img', 'strong', 'ul', 'li', 'h1', 'h2')); // Устанавливаем разрешённые параметры тегов. $jevix->cfgAllowTagParams('a', array('title', 'href')); // Устанавливаем параметры тегов являющиеся обязяательными. Без них вырезает тег оставляя содержимое. $jevix->cfgSetTagParamsRequired('a', 'href'); // Устанавливаем теги которые может содержать тег контейнер $jevix->cfgSetTagChilds('ul', 'li', true, false); // Устанавливаем атрибуты тегов, которые будут добавлятся автоматически $jevix->cfgSetTagParamDefault('a', 'rel', 'nofollow'); //Парсинг $res = $jevix->parse('...тут...мог...бы...быть...ваш...текст...'); ?>
系统要求
- PHP 7.3.0+
- mbstring模块