Hướng dẫn add character to string php - thêm ký tự vào chuỗi php

Có chức năng PHP có thể làm điều đó không?

Tôi đang sử dụng

$str = substr($oldstr, 0, $pos) . $str_to_insert . substr($oldstr, $pos);
3 để có được vị trí của một chuỗi con và tôi muốn chèn một
$str = substr($oldstr, 0, $pos) . $str_to_insert . substr($oldstr, $pos);
4 sau vị trí đó.

Hướng dẫn add character to string php - thêm ký tự vào chuỗi php

Băm

4.6475 Huy hiệu vàng20 Huy hiệu bạc39 Huy hiệu Đồng5 gold badges20 silver badges39 bronze badges

Hỏi ngày 24 tháng 11 năm 2011 lúc 2:01Nov 24, 2011 at 2:01

$newstr = substr_replace($oldstr, $str_to_insert, $pos, 0);

http://php.net/substr_replace

Trong đoạn trích trên,

$str = substr($oldstr, 0, $pos) . $str_to_insert . substr($oldstr, $pos);
5 được sử dụng trong đối số
$str = substr($oldstr, 0, $pos) . $str_to_insert . substr($oldstr, $pos);
6 của hàm.

Offsetif Offset là không âm, thay thế sẽ bắt đầu ở phần bù vào chuỗi.
If offset is non-negative, the replacing will begin at the offset'th offset into string.

Nếu bù là âm, thay thế sẽ bắt đầu ở ký tự bù từ cuối chuỗi.

Hướng dẫn add character to string php - thêm ký tự vào chuỗi php

Mickmackusa

40.3k11 Huy hiệu vàng81 Huy hiệu bạc121 Huy hiệu đồng11 gold badges81 silver badges121 bronze badges

Đã trả lời ngày 26 tháng 7 năm 2013 lúc 11:34Jul 26, 2013 at 11:34

Uramulurmaulurmaul

7.0901 Huy hiệu vàng17 Huy hiệu bạc13 Huy hiệu đồng1 gold badge17 silver badges13 bronze badges

4

$str = substr($oldstr, 0, $pos) . $str_to_insert . substr($oldstr, $pos);

$str = substr($oldstr, 0, $pos) . $str_to_insert . substr($oldstr, $pos);
7 trên Hướng dẫn sử dụng PHP

Hướng dẫn add character to string php - thêm ký tự vào chuỗi php

Dacrosby

10,8K3 Huy hiệu vàng37 Huy hiệu bạc 50 Huy hiệu Đồng3 gold badges37 silver badges50 bronze badges

Đã trả lời ngày 24 tháng 11 năm 2011 lúc 2:03Nov 24, 2011 at 2:03

Hướng dẫn add character to string php - thêm ký tự vào chuỗi php

Tim Coopertim CooperTim Cooper

154K37 Huy hiệu vàng322 Huy hiệu bạc275 Huy hiệu Đồng37 gold badges322 silver badges275 bronze badges

1

Hãy thử nó, nó sẽ hoạt động cho bất kỳ số lượng phụ


Volker E.

5.79411 Huy hiệu vàng46 Huy hiệu bạc64 Huy hiệu đồng11 gold badges46 silver badges64 bronze badges

Đã trả lời ngày 24 tháng 11 năm 2011 lúc 2:17Nov 24, 2011 at 2:17

Alexdetsalexdetsalexdets

1.3051 Huy hiệu vàng7 Huy hiệu bạc3 Huy hiệu đồng1 gold badge7 silver badges3 bronze badges

0

Sử dụng chức năng StringInsert chứ không phải hàm putinplace. Tôi đã sử dụng hàm sau để phân tích truy vấn MySQL. Mặc dù đầu ra trông ổn, nhưng truy vấn đã dẫn đến một lỗi khiến tôi mất một lúc để theo dõi. Sau đây là phiên bản của tôi của chức năng StringInsert chỉ yêu cầu một tham số.

function stringInsert($str,$insertstr,$pos)
{
    $str = substr($str, 0, $pos) . $insertstr . substr($str, $pos);
    return $str;
}  

Đã trả lời ngày 13 tháng 6 năm 2015 lúc 15:32Jun 13, 2015 at 15:32

0

Đây là giải pháp đơn giản của tôi quá nối văn bản vào dòng tiếp theo sau khi nó tìm thấy từ khóa.

$oldstring = "This is a test\n#FINDME#\nOther text and data.";

function insert ($string, $keyword, $body) {
   return substr_replace($string, PHP_EOL . $body, strpos($string, $keyword) + strlen($keyword), 0);
}

echo insert($oldstring, "#FINDME#", "Insert this awesome string below findme!!!");

Output:

This is a test
#FINDME#
Insert this awesome string below findme!!!
Other text and data.

Đã trả lời ngày 18 tháng 8 năm 2014 lúc 21:48Aug 18, 2014 at 21:48

Hướng dẫn add character to string php - thêm ký tự vào chuỗi php

str_replace($sub_str, $insert_str.$sub_str, $org_str);

Đã trả lời ngày 24 tháng 11 năm 2011 lúc 2:06Nov 24, 2011 at 2:06

xDazzxDazzxdazz

156K36 Huy hiệu vàng242 Huy hiệu bạc270 Huy hiệu Đồng36 gold badges242 silver badges270 bronze badges

2

Tôi có một chức năng cũ của tôi cho điều đó:

function putinplace($string=NULL, $put=NULL, $position=false)
{
    $d1=$d2=$i=false;
    $d=array(strlen($string), strlen($put));
    if($position > $d[0]) $position=$d[0];
    for($i=$d[0]; $i >= $position; $i--) $string[$i+$d[1]]=$string[$i];
    for($i=0; $i<$d[1]; $i++) $string[$position+$i]=$put[$i];
    return $string;
}

// Explanation
$string='My dog dont love postman'; // string
$put="'"; // put ' on position
$position=10; // number of characters (position)
print_r( putinplace($string, $put, $position) ); //RESULT: My dog don't love postman

Đây là một chức năng nhỏ mạnh mẽ thực hiện công việc của nó một cách hoàn hảo.

Đã trả lời ngày 5 tháng 3 năm 2014 lúc 20:08Mar 5, 2014 at 20:08

Chỉ muốn thêm một cái gì đó: Tôi thấy câu trả lời của Tim Cooper rất hữu ích, tôi đã sử dụng nó để tạo một phương thức chấp nhận một loạt các vị trí và chèn vào tất cả chúng để ở đây là:

Chỉnh sửa: Có vẻ như hàm cũ của tôi giả định

$str = substr($oldstr, 0, $pos) . $str_to_insert . substr($oldstr, $pos);
8 chỉ là 1 ký tự và mảng được sắp xếp. Điều này làm việc cho chiều dài ký tự tùy ý. Looks like my old function assumed
$str = substr($oldstr, 0, $pos) . $str_to_insert . substr($oldstr, $pos);
8 was only 1 character and that the array was sorted. This works for arbitrary character length.

function stringInsert($str, $pos, $insertstr) {
    if (!is_array($pos)) {
        $pos = array($pos);
    } else {
        asort($pos);
    }
    $insertionLength = strlen($insertstr);
    $offset = 0;
    foreach ($pos as $p) {
        $str = substr($str, 0, $p + $offset) . $insertstr . substr($str, $p + $offset);
        $offset += $insertionLength;
    }
    return $str;
}

Đã trả lời ngày 14 tháng 10 năm 2013 lúc 21:48Oct 14, 2013 at 21:48

Hướng dẫn add character to string php - thêm ký tự vào chuỗi php

ChilinutchilinutchiliNUT

18.4K13 Huy hiệu vàng64 Huy hiệu bạc101 Huy hiệu đồng13 gold badges64 silver badges101 bronze badges

2

Đơn giản và một cách khác để giải quyết:

function stringInsert($str,$insertstr,$pos)
{
  $count_str=strlen($str);
  for($i=0;$i<$pos;$i++)
    {
    $new_str .= $str[$i];
    }

    $new_str .="$insertstr";

   for($i=$pos;$i<$count_str;$i++)
    {
    $new_str .= $str[$i];
    }

  return $new_str;

}  

Đã trả lời ngày 16 tháng 1 năm 2017 lúc 3:02Jan 16, 2017 at 3:02

Hướng dẫn add character to string php - thêm ký tự vào chuỗi php

Jewelhuqjewelhuqjewelhuq

1.18414 Huy hiệu bạc19 Huy hiệu đồng14 silver badges19 bronze badges

1

Câu trả lời kỳ lạ ở đây! Bạn có thể chèn các chuỗi vào các chuỗi khác một cách dễ dàng với Sprintf [liên kết đến tài liệu]. Chức năng cực kỳ mạnh mẽ và cũng có thể xử lý nhiều yếu tố và các loại dữ liệu khác.

$str = substr($oldstr, 0, $pos) . $str_to_insert . substr($oldstr, $pos);
0

cung cấp cho bạn chuỗi

$str = substr($oldstr, 0, $pos) . $str_to_insert . substr($oldstr, $pos);
1

Đã trả lời ngày 16 tháng 6 năm 2017 lúc 11:38Jun 16, 2017 at 11:38

SliqsliqSliq

15.3K25 Huy hiệu vàng106 Huy hiệu bạc141 Huy hiệu Đồng25 gold badges106 silver badges141 bronze badges

2

$str = substr($oldstr, 0, $pos) . $str_to_insert . substr($oldstr, $pos);
2

Đã trả lời ngày 14 tháng 8 năm 2017 lúc 15:42Aug 14, 2017 at 15:42

4