Hướng dẫn php replace string with array values - php thay thế chuỗi bằng các giá trị mảng

8

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có một chuỗi như:

   Hello <%First Name%> <%Last Name%> welcome

Và tôi có một mảng

 [0] => Array
    (
        [First Name] => John
        [Last Name] => Smith
    )

Những gì tôi cần làm là lấy chuỗi và thay thế các từ trong

Vì vậy, đầu ra của tôi sẽ là

   Hello John Smith welcome

Tôi không chắc làm thế nào để hoàn thành điều này nhưng tôi dường như không thể thay thế nó bằng văn bản thông thường

$test = str_replace("<%.*%>","test",$textData['text']);

Xin lỗi, tôi nên đề cập rằng các phím mảng có thể khác nhau cũng như

 [0] => Array
    (
        [First Name] => John
        [Last Name] => Smith
    )
2

Vì vậy, nó thậm chí có thể là

 [0] => Array
    (
        [First Name] => John
        [Last Name] => Smith
    )
3 và mảng có thể là
 [0] => Array
    (
        [First Name] => John
        [Last Name] => Smith
    )
4

Hướng dẫn php replace string with array values - php thay thế chuỗi bằng các giá trị mảng

Ram Sharma

8,5467 Huy hiệu vàng44 Huy hiệu bạc55 Huy hiệu Đồng7 gold badges44 silver badges55 bronze badges

Đã hỏi ngày 13 tháng 1 năm 2014 lúc 19:46Jan 13, 2014 at 19:46

2

$array = array('<%First Name%>' => 'John', '<%Last Name%>' => 'Smith');
$result = str_replace(array_keys($array), array_values($array), $textData['text']);

Đã trả lời ngày 13 tháng 1 năm 2014 lúc 19:54Jan 13, 2014 at 19:54

XYZXYZXyz

5.7355 Huy hiệu vàng40 Huy hiệu bạc57 Huy hiệu Đồng5 gold badges40 silver badges57 bronze badges

0

Bạn có thể sử dụng một mảng cho cả hai biến tìm kiếm và thay thế trong str_replace

$search = array('first_name', 'last_name');
$replace = array('John', 'Smith');

$result = str_replace($search, $replace, $string);

Đã trả lời ngày 13 tháng 1 năm 2014 lúc 19:50Jan 13, 2014 at 19:50

Brian H.Brian H.Brian H.

5052 Huy hiệu bạc12 Huy hiệu Đồng2 silver badges12 bronze badges

Bạn có thể thử điều này,

    $string ="Hello <%First Name%> <%Last Name%> welcome";
    preg_match_all('~<%(.*?)%>~s',$string,$datas);
    $Array = array('0' => array ('First Name' => 'John', 'Last Name' => 'Smith' ));
    $Html =$string;
    foreach($datas[1] as $value){           
        $Html =str_replace($value, $Array[0][$value], $Html);
    }
    echo str_replace(array("<%","%>"),'',$Html);

Đã trả lời ngày 13 tháng 1 năm 2014 lúc 20:06Jan 13, 2014 at 20:06

Hướng dẫn php replace string with array values - php thay thế chuỗi bằng các giá trị mảng

Krish rkrish rKrish R

22.3K7 Huy hiệu vàng49 Huy hiệu bạc57 Huy hiệu đồng7 gold badges49 silver badges57 bronze badges

Bạn có thể sử dụng

 [0] => Array
    (
        [First Name] => John
        [Last Name] => Smith
    )
5

$replacedKeys = array('<%First Name%>','<%Last Name%>');

$values = array('John','Smith');

$result = str_replace($replacedKeys,$values,$textData['text']);

Đã trả lời ngày 13 tháng 1 năm 2014 lúc 19:51Jan 13, 2014 at 19:51

Demonkingdemonkingdemonking

2.5035 huy hiệu vàng22 Huy hiệu bạc27 Huy hiệu đồng5 gold badges22 silver badges27 bronze badges

$string = "Hello <%First Name%> <%Last Name%> welcome";
$matches = array(
    'First Name' => 'John',
    'Last Name' => 'Smith'
);

$result = preg_replace_callback('/<%(.*?)%>/', function ($preg) use ($matches) { return isset($matches[$preg[1]]) ? $matches[$preg[1]] : $preg[0]; }, $string);            

echo $result;
// Hello John Smith welcome

Đã trả lời ngày 13 tháng 1 năm 2014 lúc 20:07Jan 13, 2014 at 20:07

HavenardhavenardHavenard

25.8K4 Huy hiệu vàng33 Huy hiệu bạc60 Huy hiệu Đồng4 gold badges33 silver badges60 bronze badges

Bạn có thể sử dụng điều này:

$result = preg_replace_callback('~<%(First|Last) Name)%>~', function ($m) {
    return $yourarray[$m[1] . ' Name']; } ,$str);

hoặc đơn giản nhiều (và có thể hiệu quả hơn), sử dụng Brian H. Trả lời (và thay thế các chuỗi tìm kiếm bằng

 [0] => Array
    (
        [First Name] => John
        [Last Name] => Smith
    )
2 và
 [0] => Array
    (
        [First Name] => John
        [Last Name] => Smith
    )
7).

Đã trả lời ngày 13 tháng 1 năm 2014 lúc 19:51Jan 13, 2014 at 19:51

Hướng dẫn php replace string with array values - php thay thế chuỗi bằng các giá trị mảng

 [0] => Array
    (
        [First Name] => John
        [Last Name] => Smith
    )
0

DemonkingdemonkingJul 30, 2019 at 12:13

Hướng dẫn php replace string with array values - php thay thế chuỗi bằng các giá trị mảng

0

 [0] => Array
    (
        [First Name] => John
        [Last Name] => Smith
    )
1

2.5035 huy hiệu vàng22 Huy hiệu bạc27 Huy hiệu đồngJan 13, 2014 at 19:52

Hướng dẫn php replace string with array values - php thay thế chuỗi bằng các giá trị mảng

Đã trả lời ngày 13 tháng 1 năm 2014 lúc 20:07RafaSashi

Havenardhavenard8 gold badges80 silver badges90 bronze badges

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 một chuỗi. Hàm này hoạt động theo các quy tắc sau: Nếu chuỗi được tìm kiếm là một mảng, nó sẽ trả về một mảng. Nếu chuỗi được tìm kiếm là một mảng, hãy tìm và thay thế được thực hiện với mọi phần tử mảng.. This function works by the following rules: If the string to be searched is an array, it returns an array. If the string to be searched is an array, find and replace is performed with every array element.

Làm cách nào để thay thế nhiều ký 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 () được sử dụng để thay thế nhiều ký tự trong một chuỗi và nó có ba tham số. Tham số đầu tiên là mảng các ký tự để thay thế.Using the str_replace() and str_split() functions in PHP. The str_replace() function is used to replace multiple characters in a string and it takes in three parameters. The first parameter is the array of characters to replace.

Làm cách nào để xóa một từ khỏi chuỗi trong PHP?

Trả lời: Sử dụng hàm Php str_Replace () Bạn có thể sử dụng hàm Php str_replace () để thay thế tất cả các lần xuất hiện của một từ trong một chuỗi.Use the PHP str_replace() function You can use the PHP str_replace() function to replace all the occurrences of a word within a string.

Làm thế nào để bạn thay đổi khóa của một mảng?

3 cách để thay đổi khóa mảng mà không thay đổi thứ tự trong PHP..
Thay đổi phím mảng bằng cách sử dụng mã hóa/giải mã JSON.Thay đổi phím mảng bằng cách sử dụng mã hóa/giải mã JSON.....
Thay thế phím & duy trì thứ tự bằng các hàm mảng trong PHP.....
Thay đổi phím mảng mà không thay đổi thứ tự (khả năng mảng đa chiều).