Code Duplication    Length = 31-31 lines in 2 locations

plugins/CMS/config/functions.php 2 locations

@@ 623-653 (lines=31) @@
620
    }
621
}
622
623
if (!function_exists('str_replace_once')) {
624
    /**
625
     * Replace the first occurrence only.
626
     *
627
     * ### Example:
628
     *
629
     * ```php
630
     * echo str_replace_once('A', 'a', 'AAABBBCCC');
631
     * // out: aAABBBCCC
632
     * ```
633
     *
634
     * @param string|array $search The value being searched for
635
     * @param string $replace The replacement value that replaces found search value
636
     * @param string $subject The string being searched and replaced on
637
     * @return string A string with the replaced value
638
     */
639
    function str_replace_once($search, $replace, $subject)
640
    {
641
        if (!is_array($search)) {
642
            $search = [$search];
643
        }
644
645
        foreach ($search as $s) {
646
            if ($s !== '' && strpos($subject, $s) !== false) {
647
                return substr_replace($subject, $replace, strpos($subject, $s), strlen($s));
648
            }
649
        }
650
651
        return $subject;
652
    }
653
}
654
655
if (!function_exists('str_replace_last')) {
656
    /**
@@ 655-685 (lines=31) @@
652
    }
653
}
654
655
if (!function_exists('str_replace_last')) {
656
    /**
657
     * Replace the last occurrence only.
658
     *
659
     * ### Example:
660
     *
661
     * ```php
662
     * echo str_replace_once('A', 'a', 'AAABBBCCC');
663
     * // out: AAaBBBCCC
664
     * ```
665
     *
666
     * @param string|array $search The value being searched for
667
     * @param string $replace The replacement value that replaces found search value
668
     * @param string $subject The string being searched and replaced on
669
     * @return string A string with the replaced value
670
     */
671
    function str_replace_last($search, $replace, $subject)
672
    {
673
        if (!is_array($search)) {
674
            $search = [$search];
675
        }
676
677
        foreach ($search as $s) {
678
            if ($s !== '' && strrpos($subject, $s) !== false) {
679
                $subject = substr_replace($subject, $replace, strrpos($subject, $s), strlen($s));
680
            }
681
        }
682
683
        return $subject;
684
    }
685
}
686
687
if (!function_exists('str_starts_with')) {
688
    /**