mdaliyan/farsi-request

A (Laravel Request Transformer) 用于将阿拉伯字符替换为波斯字符,并自动转换你想要的参数中的数字。

v1.1.3-stable 2019-10-05 13:27 UTC

This package is auto-updated.

Last update: 2024-09-26 18:03:34 UTC


README

Build Status License

Farsi Request 会自动将所有请求参数中的阿拉伯字符如 ي ك ة ٤ ٥ ٦ 替换为波斯字符如 ی ک ه ۴ ۵ ۶

如果你正在构建一个波斯语网站,可能会遇到一些使用阿拉伯键盘的用户。这些用户可能会对你的内容造成问题或者在使用搜索时感到困惑。

测试

farsi-request 在 laravel 5.x 和 6.x 上进行了测试

功能

  1. 将阿拉伯字符替换为波斯标准字符

  2. 自动将波斯语或英语数字转换为彼此 在你希望请求参数相互转换的参数中。例如

    • 产品名称,如 R2D2 应该 never 有波斯数字,对吧?
    • 用户的电话号码

安装

$ composer require mdaliyan/farsi-request

使用

1. 自动替换阿拉伯字符

将此中间件添加到你的内核文件 app/Http/Kernel.php

protected $middleware = [
    ...
   \Mdaliyan\FarsiRequest\Middleware\ReplaceArabicCharacters::class,
];

2. 自动替换请求参数中的数字

将此 trait 和两个私有属性添加到你的 Request 类中。然后将应该有波斯语或英语数字的参数添加到所需属性中。

use Mdaliyan\FarsiRequest\Traits\ReplaceNumbers;

class SomeRequest extends FormRequest
{
    use ReplaceNumbers;

    private $mustHaveEnglishNumbers = ['id','email','phone_number'];
    private $mustHaveFarsiNumbers = ['post_content','author_name'];

    /**
     * Determine if the user is authorized to make this request.
     * @return bool
     */
    public function authorize()
    {
        return true;
    }
    ...

注意:此功能忽略 HTML 标签内的数字

    This line with the numbers 889 and an image: <img src="/media/media2.jpg">
    
     <!-- will be converted to: -->
    
    This line with the numbers ۸۸۹ and an image: <img src="/media/media2.jpg">