Str_replace nhiều từ php

Ai đó có thể chỉ cho tôi một cách rõ ràng để thay thế "phương tiện, xe tải, coupe, sedan" bằng từ "xe hơi" thay vì tôi thay thế cả 4 từ riêng lẻ không. Cảm ơn bạn

Giải pháp tốt nhất

$a = array( 'truck', 'vehicle', 'sedan', 'coupe' );
$str = 'Honda is a truck. Toyota is a vehicle. Nissan is a sedan. Scion is a coupe.';
echo str_replace($a,'car',str_replace('Toyota','Lexus',$str));

Giải pháp liên quan

Cách thay thế một ký tự bằng một dòng mới trong Vim

Sử dụng echo bar > test (echo 'Before:'; xxd test) > output.txt vim test '+s/b/\n/' '+s/a/\r/' +wq (echo 'After:'; xxd test) >> output.txt more output.txt 2 thay vì echo bar > test (echo 'Before:'; xxd test) > output.txt vim test '+s/b/\n/' '+s/a/\r/' +wq (echo 'After:'; xxd test) >> output.txt more output.txt 3

Thay thế bằng

echo bar > test
(echo 'Before:'; xxd test) > output.txt
vim test '+s/b/\n/' '+s/a/\r/' +wq
(echo 'After:'; xxd test) >> output.txt
more output.txt
3 sẽ chèn một ký tự null vào văn bản. Để có một dòng mới, hãy sử dụng
echo bar > test
(echo 'Before:'; xxd test) > output.txt
vim test '+s/b/\n/' '+s/a/\r/' +wq
(echo 'After:'; xxd test) >> output.txt
more output.txt
2. Tuy nhiên, khi tìm kiếm một dòng mới, bạn vẫn sử dụng
echo bar > test
(echo 'Before:'; xxd test) > output.txt
vim test '+s/b/\n/' '+s/a/\r/' +wq
(echo 'After:'; xxd test) >> output.txt
more output.txt
3. Sự bất đối xứng này là do
echo bar > test
(echo 'Before:'; xxd test) > output.txt
vim test '+s/b/\n/' '+s/a/\r/' +wq
(echo 'After:'; xxd test) >> output.txt
more output.txt
3 và
echo bar > test
(echo 'Before:'; xxd test) > output.txt
vim test '+s/b/\n/' '+s/a/\r/' +wq
(echo 'After:'; xxd test) >> output.txt
more output.txt
2 làm những việc hơi khác nhau

echo bar > test
(echo 'Before:'; xxd test) > output.txt
vim test '+s/b/\n/' '+s/a/\r/' +wq
(echo 'After:'; xxd test) >> output.txt
more output.txt
3 khớp với cuối dòng (dòng mới), trong khi
echo bar > test
(echo 'Before:'; xxd test) > output.txt
vim test '+s/b/\n/' '+s/a/\r/' +wq
(echo 'After:'; xxd test) >> output.txt
more output.txt
2 khớp với dấu xuống dòng. Mặt khác, khi thay thế,
echo bar > test
(echo 'Before:'; xxd test) > output.txt
vim test '+s/b/\n/' '+s/a/\r/' +wq
(echo 'After:'; xxd test) >> output.txt
more output.txt
3 sẽ chèn một ký tự null trong khi
echo bar > test
(echo 'Before:'; xxd test) > output.txt
vim test '+s/b/\n/' '+s/a/\r/' +wq
(echo 'After:'; xxd test) >> output.txt
more output.txt
2 sẽ chèn một dòng mới (chính xác hơn, nó được coi là CR đầu vào). Đây là một ví dụ nhỏ, không tương tác để minh họa điều này, sử dụng tính năng dòng lệnh Vim (nói cách khác, bạn có thể sao chép và dán đoạn mã sau vào thiết bị đầu cuối để chạy nó).
$a = array( 'truck', 'vehicle', 'sedan', 'coupe' );
$str = 'Honda is a truck. Toyota is a vehicle. Nissan is a sedan. Scion is a coupe.';
echo str_replace($a,'car',str_replace('Toyota','Lexus',$str));
7 hiển thị một hexdump của tệp kết quả

echo bar > test
(echo 'Before:'; xxd test) > output.txt
vim test '+s/b/\n/' '+s/a/\r/' +wq
(echo 'After:'; xxd test) >> output.txt
more output.txt
Before:
0000000: 6261 720a                                bar.
After:
0000000: 000a 720a                                ..r.

Nói cách khác,

echo bar > test
(echo 'Before:'; xxd test) > output.txt
vim test '+s/b/\n/' '+s/a/\r/' +wq
(echo 'After:'; xxd test) >> output.txt
more output.txt
3 đã chèn byte 0x00 vào văn bản;

C++ – Cách lặp qua các từ của một chuỗi

Tôi sử dụng cái này để phân tách chuỗi bằng dấu phân cách. Cái đầu tiên đưa kết quả vào một vectơ dựng sẵn, cái thứ hai trả về một vectơ mới

#include <string>
#include <sstream>
#include <vector>
#include <iterator>

template <typename Out>
void split(const std::string &s, char delim, Out result) {
    std::istringstream iss(s);
    std::string item;
    while (std::getline(iss, item, delim)) {
        *result++ = item;
    }
}

std::vector<std::string> split(const std::string &s, char delim) {
    std::vector<std::string> elems;
    split(s, delim, std::back_inserter(elems));
    return elems;
}

Lưu ý rằng giải pháp này không bỏ qua các mã thông báo trống, vì vậy phần sau sẽ tìm thấy 4 mục, một trong số đó trống

Bạn có biết có nhiều cách để thay thế một chuỗi trong một chuỗi không?

 

str_replace

Thay thế chuỗi bằng str_replace()

Có lẽ hàm gốc phổ biến nhất được sử dụng để thay thế chuỗi là

This is my tiny boring string.
1, nếu bạn chưa từng sử dụng nó trước đây, bạn sẽ thích nó. Nó siêu đơn giản và siêu nhanh

This is my tiny boring string.
1 nhận ba tham số chính với một tham số tùy chọn bổ sung để nhận số lần thay thế. 3 tham số có thể ở dạng một chuỗi số ít hoặc một mảng các chuỗi, nghĩa là bạn có thể thay thế nhiều cụm từ trong một lần gọi hàm

Các thông số chính như sau và theo thứ tự -

  1. cụm từ tìm kiếm
  2. thuật ngữ thay thế
  3. Chủ đề/Chuỗi được thay thế

Ghi chú nhanh. str_replace là Phân biệt chữ hoa chữ thường .

Thay thế một giá trị từ một chuỗi

PHP

$myString = "This is my super-massive boring string."; // Subject - String to be replaced
$mySearch = "super-massive"; // The phrase that we want to search inside $myString.
$myReplacement = 'tiny'; // The phrase we want to replace the searched & matched phrase with.

echo str_replace($mySearch, $myReplacement, $myString);

đầu ra

This is my tiny boring string.

Như bạn có thể thấy từ mã và đầu ra ở trên, từ siêu lớn đã được thay thế bằng từ 'nhỏ'

Thay thế nhiều ký tự trong một chuỗi

Với nhiều lần thay thế, chúng ta có thể chuyển vào các mảng thay vì các giá trị số ít. Lưu ý rằng bạn có thể kết hợp chúng với nhau, có một mảng giá trị tìm kiếm và một giá trị thay thế duy nhất. Hoặc, cách khác, nếu bạn có hai mảng có nhiều giá trị, nó sẽ thay thế chúng một cách tuần tự

PHP

$myString = "This is my super-massive boring string."; // Subject - String to be replaced
$mySearchArray = ["super-massive", "boring"]; // The array of phrases that we want to search inside $myString.
$myReplacement = 'tiny'; // The phrase we want to replace the searched & matched phrase with.


echo str_replace($mySearchArray, $myReplacement, $myString);


// Or

$myString = "This is my super-massive boring string."; // Subject - String to be replaced
$mySearchArray = ["super-massive", "boring", 'string']; // The array of phrases that we want to search inside $myString.
$myReplacementArray = ['tiny', 'awesome', 'stringy string']; // The array of phrases we want to replace the searched & matched phrase with.

echo str_replace($mySearchArray, $myReplacementArray, $myString);

đầu ra

$a = array( 'truck', 'vehicle', 'sedan', 'coupe' );
$str = 'Honda is a truck. Toyota is a vehicle. Nissan is a sedan. Scion is a coupe.';
echo str_replace($a,'car',str_replace('Toyota','Lexus',$str));
0

str_ireplace

Mặc dù cực kỳ giống nhau, hàm

This is my tiny boring string.
3 hoạt động hơi khác một chút. Sự khác biệt nhỏ là chức năng này không quan tâm đến trường hợp, vì nó hoàn toàn không phân biệt chữ hoa chữ thường

Ngoài trường hợp không phân biệt chữ hoa chữ thường, chức năng hoàn toàn giống nhau

Các thông số chính như sau và theo thứ tự -

  1. cụm từ tìm kiếm
  2. thuật ngữ thay thế
  3. Chủ đề/Chuỗi được thay thế
Thay thế một giá trị từ một chuỗi không phân biệt chữ hoa chữ thường

PHP

$a = array( 'truck', 'vehicle', 'sedan', 'coupe' );
$str = 'Honda is a truck. Toyota is a vehicle. Nissan is a sedan. Scion is a coupe.';
echo str_replace($a,'car',str_replace('Toyota','Lexus',$str));
2

đầu ra

$a = array( 'truck', 'vehicle', 'sedan', 'coupe' );
$str = 'Honda is a truck. Toyota is a vehicle. Nissan is a sedan. Scion is a coupe.';
echo str_replace($a,'car',str_replace('Toyota','Lexus',$str));
3
Thay thế nhiều giá trị trong một chuỗi không phân biệt chữ hoa chữ thường

Một lần nữa với chức năng thay thế này, nó cho phép sử dụng các mảng và do đó chúng ta có thể chuyển vào mảng các giá trị của mình để tìm kiếm và thay thế như sau –

PHP

$a = array( 'truck', 'vehicle', 'sedan', 'coupe' );
$str = 'Honda is a truck. Toyota is a vehicle. Nissan is a sedan. Scion is a coupe.';
echo str_replace($a,'car',str_replace('Toyota','Lexus',$str));
4

đầu ra

$a = array( 'truck', 'vehicle', 'sedan', 'coupe' );
$str = 'Honda is a truck. Toyota is a vehicle. Nissan is a sedan. Scion is a coupe.';
echo str_replace($a,'car',str_replace('Toyota','Lexus',$str));
5

 

chất nền_replace

Bây giờ,

This is my tiny boring string.
4 cho chúng ta khả năng cực kỳ cụ thể khi thay thế văn bản trong một chuỗi. Nó cho phép chúng ta yêu cầu PHP chỉ thay thế trong một vị trí cụ thể của chuỗi, ví dụ: mười chữ cái đầu tiên. Tuy nhiên, chức năng này không có, là khả năng tìm kiếm mà
This is my tiny boring string.
5 và
This is my tiny boring string.
3 có

Các tham số của hàm như sau –

Str_replace nhiều từ php

  • Chủ đề/Chuỗi được thay thế
  • cụm từ thay thế
  • Bắt đầu chỉ số, ví dụ, 0 sẽ bắt đầu từ đầu chuỗi
  • Độ dài int, số lượng ký tự dọc theo chuỗi

Vì vậy, hãy đặt mã này vào một số mã

PHP

$a = array( 'truck', 'vehicle', 'sedan', 'coupe' );
$str = 'Honda is a truck. Toyota is a vehicle. Nissan is a sedan. Scion is a coupe.';
echo str_replace($a,'car',str_replace('Toyota','Lexus',$str));
9

đầu ra

echo bar > test
(echo 'Before:'; xxd test) > output.txt
vim test '+s/b/\n/' '+s/a/\r/' +wq
(echo 'After:'; xxd test) >> output.txt
more output.txt
0

preg_replace

Nếu bạn muốn thay phức tạp hơn một chút thì PHP có hàm preg_replace. Điều này cho phép bạn chuyển vào một biểu thức chính quy để khớp và thay thế trong một chuỗi nhất định

Các tham số của nó tương tự như các hàm trên, nhưng thay vì một thuật ngữ tìm kiếm rõ ràng, một biểu thức chính quy được đặt ở vị trí của nó

Thông số

  1. Biểu hiện thông thường
  2. thay thế
  3. Chuỗi/chủ đề được thay thế
Thay thế biểu thức chính quy số ít

PHP

Str_replace nhiều từ php

đầu ra

This is my tiny boring string.
0

 

Tài liệu tham khảo chức năng

Kiểm tra tài liệu cho các chức năng được sử dụng trong hướng dẫn này bên dưới –

  • str_replace
  • str_ireplace
  • chất nền_replace
  • preg_replace

Như đã nói, có nhiều cách để lột da một con mèo, vâng, trong PHP, có nhiều cách để thay thế một chuỗi

Làm cách nào để thay thế nhiều từ trong một chuỗi trong PHP?

Cách tiếp cận 1. Sử dụng các hàm str_replace() và str_split() trong PHP . Hàm str_replace() dùng để thay thế nhiều ký tự trong một chuỗi và nó nhận ba tham số. Tham số đầu tiên là mảng ký tự cần thay thế.

Làm cách nào để thay thế tất cả các ký tự trong một chuỗi trong PHP?

The str_replace() là một hàm tích hợp sẵn trong PHP và được sử dụng để thay thế tất cả các lần xuất hiện của chuỗi tìm kiếm hoặc mảng của .

Làm cách nào để thay thế một phần của chuỗi trong PHP?

Hàm str_replace() thay thế một số ký tự bằng một số ký tự khác trong chuỗi. Chức năng này hoạt động theo các quy tắc sau. Nếu chuỗi cần tìm là một mảng, nó sẽ trả về một mảng. Nếu chuỗi cần tìm là một mảng thì việc tìm và thay thế được thực hiện với mọi phần tử của mảng.

Làm cách nào để thay thế nhiều ký tự trong một chuỗi trong JavaScript?

allReplace = function(obj) { var retStr = this; . replace(regExp mới(x, 'g'), obj[x]); . console.