Bagaimana untuk menyembunyikan beberapa kandungan dalam php

藏色散人
Lepaskan: 2023-03-15 06:44:01
asal
2955 orang telah melayarinya

Cara menyembunyikan sebahagian daripada kandungan dalam PHP: 1. Buat fail contoh PHP 2. Gunakan "function hidestr($string, $start = 0, $length = 0, $re = '*' ) {. ..}" kaedah boleh digunakan untuk menyembunyikannya.

Bagaimana untuk menyembunyikan beberapa kandungan dalam php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

php Bagaimana untuk menyembunyikan bahagian kandungan?

PHP menyembunyikan beberapa rentetan (seperti nama, nama pengguna, kad ID, IP, nombor telefon mudah alih, dll.) fungsi

Penggunaan fungsi ini hampir sama dengan PHP terbina dalam fungsi substr(). Cuma substr() digunakan untuk memintas, manakala hidestr() digunakan untuk bersembunyi~

/**
 * 将一个字符串部分字符用$re替代隐藏
 * @param string    $string   待处理的字符串
 * @param int       $start    规定在字符串的何处开始,
 *                            正数 - 在字符串的指定位置开始
 *                            负数 - 在从字符串结尾的指定位置开始
 *                            0 - 在字符串中的第一个字符处开始
 * @param int       $length   可选。规定要隐藏的字符串长度。默认是直到字符串的结尾。
 *                            正数 - 从 start 参数所在的位置隐藏
 *                            负数 - 从字符串末端隐藏
 * @param string    $re       替代符
 * @return string   处理后的字符串
 */
function hidestr($string, $start = 0, $length = 0, $re = '*') {
    if (empty($string)) return false;
    $strarr = array();
    $mb_strlen = mb_strlen($string);
    while ($mb_strlen) {//循环把字符串变为数组
        $strarr[] = mb_substr($string, 0, 1, 'utf8');
        $string = mb_substr($string, 1, $mb_strlen, 'utf8');
        $mb_strlen = mb_strlen($string);
    }
    $strlen = count($strarr);
    $begin  = $start >= 0 ? $start : ($strlen - abs($start));
    $end    = $last   = $strlen - 1;
    if ($length > 0) {
        $end  = $begin + $length - 1;
    } elseif ($length < 0) {
        $end -= abs($length);
    }
    for ($i=$begin; $i<=$end; $i++) {
        $strarr[$i] = $re;
    }
    if ($begin >= $end || $begin >= $last || $end > $last) return false;
    return implode(&#39;&#39;, $strarr);
}
//隐藏手机号中间4位
hidestr(&#39;18600005940&#39;, 3, 4); //186****5940
//只保留姓名里的最后一个字,常见与ATM,网银等
hidestr(&#39;谢世亮&#39;, 0, -1); //**亮
//隐藏邮箱部分内容,常见网站帐号,如支付宝等
list($name, $domain) = explode(&#39;@&#39;, &#39;979137@qq.com&#39;);
hidestr($name, 1, -1) . &#39;@&#39; . hidestr($domain, 0, 2); // 9****7@**.com
Salin selepas log masuk

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk menyembunyikan beberapa kandungan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan