Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi

Đối với người quan tâm: Tôi đã viết một chức năng sử dụng preg_match để bạn có thể thay thế từ phía bên phải bằng regex.

function preg_rreplace($search, $replace, $subject) {
    preg_match_all($search, $subject, $matches, PREG_SET_ORDER);
    $lastMatch = end($matches);

    if ($lastMatch && false !== $pos = strrpos($subject, $lastMatchedStr = $lastMatch[0])) {
        $subject = substr_replace($subject, $replace, $pos, strlen($lastMatchedStr));
    }

    return $subject;
}

Hoặc như là sự kết hợp/triển khai tốc ký của cả hai tùy chọn:

function str_rreplace($search, $replace, $subject) {
    return (false !== $pos = strrpos($subject, $search)) ?
        substr_replace($subject, $replace, $pos, strlen($search)) : $subject;
}
function preg_rreplace($search, $replace, $subject) {
    preg_match_all($search, $subject, $matches, PREG_SET_ORDER);
    return ($lastMatch = end($matches)) ? str_rreplace($lastMatch[0], $replace, $subject) : $subject;
}

Dựa trên https://stackoverflow.com/a/3835653/3017716 và https://stackoverflow.com/a/23343396/3017716

Thay thế một phần của chuỗi bằng một chuỗi khác là thẳng về phía trước, nhưng nếu bạn phải thay thế lần xuất hiện cuối cùng của một ký tự hoặc chuỗi bằng một chuỗi khác.

Đây là cách nhanh nhất để làm điều này.

function str_replace_last( $search , $replace , $str ) {
    if( ( $pos = strrpos( $str , $search ) ) !== false ) {
        $search_length  = strlen( $search );
        $str    = substr_replace( $str , $replace , $pos , $search_length );
    }
    return $str;
}

Đối số đầu tiên $search giữ cho chuỗi được tìm kiếm, $replace là chuỗi thay thế và $str là chuỗi chủ đề, thường được gọi là Haystack.

Cách thay thế lần xuất hiện cuối cùng của chuỗi

    $str       = 'My Name is John.';
    $search    = 'John';
    $replace   = 'Peter';
    echo str_replace_last( $search , $replace , $str );
     
    //Result
    My Name is Peter.

Trong trường hợp $search không được tìm thấy bên trong $str, hàm trả về chuỗi ban đầu chưa được xử lý $str. Hành vi này tương thích với hành vi mặc định của chức năng tích hợp

function str_rreplace($search, $replace, $subject) {
    return (false !== $pos = strrpos($subject, $search)) ?
        substr_replace($subject, $replace, $pos, strlen($search)) : $subject;
}
function preg_rreplace($search, $replace, $subject) {
    preg_match_all($search, $subject, $matches, PREG_SET_ORDER);
    return ($lastMatch = end($matches)) ? str_rreplace($lastMatch[0], $replace, $subject) : $subject;
}
1 Php, thay thế tất cả các lần xuất hiện của một chuỗi bên trong một chuỗi khác.

1 Câu trả lời cho câu hỏi này.

Xin chào @Kartik,

Bạn có thể sử dụng chức năng này:

function str_lreplace($search, $replace, $subject)
{
    $pos = strrpos($subject, $search);

    if($pos !== false)
    {
        $subject = substr_replace($subject, $replace, $pos, strlen($search));
    }

    return $subject;
}

Hy vọng nó giúp!! Cảm ơn!!
ThanK you!!

Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
Đã trả lời ngày 14 tháng 8 năm 2020by Niroj • & NBSP; 82.800 điểm Aug 14, 2020 by Niroj
• 82,800 points

Các câu hỏi liên quan trong PHP

  • Tất cả danh mục
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Apache Kafka (84)(84)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Apache Spark (596)(596)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Azure (131)(131)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Dữ liệu lớn Hadoop (1.907)(1,907)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Blockchain (1.673)(1,673)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    C# (134)(134)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    C ++ (268)(268)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Tư vấn nghề nghiệp (1.060)(1,060)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Điện toán đám mây (3,391)(3,391)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    An ninh mạng & hack đạo đức (147)(147)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Phân tích dữ liệu (1.266)(1,266)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Cơ sở dữ liệu (855)(855)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Khoa học dữ liệu (75)(75)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    DevOps & Agile (3.500)(3,500)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Tiếp thị kỹ thuật số (111)(111)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Các chủ đề về sự kiện & xu hướng (28)(28)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    IoT (Internet of Things) (387)(387)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Java (1.220)(1,220)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Kotlin (3)(3)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Quản trị Linux (384)(384)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Học máy (337)(337)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    MicroStrargety (6)(6)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    PMP (423)(423)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Power BI (516)(516)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Python (3.160)(3,160)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    RPA (650)(650)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Salesforce (92)(92)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Selenium (1.569)(1,569)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Kiểm tra phần mềm (56)(56)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Tableau (608)(608)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Talend (73)(73)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Các loại (124)(124)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Phát triển web (3,002)(3,002)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Hỏi chúng tôi bất cứ điều gì! (66)(66)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Những người khác (1.435)(1,435)
  • Hướng dẫn php replace last occurrence in string - php thay thế lần xuất hiện cuối cùng trong chuỗi
    Phát triển di động (165)(165)

Tham gia cộng đồng công nghệ tích cực nhất thế giới!

Chào mừng trở lại với cộng đồng công nghệ tích cực nhất thế giới!

Đăng ký nhận bản tin của chúng tôi và nhận được các khuyến nghị cá nhân hóa.

Bạn co săn san để tạo một tai khoản? Đăng nhập.

Làm thế nào để loại bỏ sự xuất hiện cuối cùng của chuỗi trong PHP?

Bạn có thể sử dụng chức năng được tích hợp trong php str_replace () để loại bỏ tất cả sự xuất hiện của hoặc từ chuỗi như dưới đây.Đọc câu hỏi một cách cẩn thận ...use built in php str_replace() function for removing all the occurance of OR from the string as below. Read question carefully...

Làm thế nào tôi có thể thay đổi ký tự cuối cùng của một chuỗi trong PHP?

SPERTR_REPLACE () thay thế một bản sao của chuỗi được phân tách bằng các tham số độ dài và (tùy chọn) với chuỗi được đưa ra trong thay thế. replaces a copy of string delimited by the offset and (optionally) length parameters with the string given in replace .