Tôi đang phân tích chuỗi trước khi gửi nó đến một DB. Tôi muốn đi qua tất cả các <br>
trong chuỗi đó và thay thế chúng bằng số duy nhất mà tôi nhận được từ một mảng theo sau là một newLine.Thay thế tất cả các lần xuất hiện của một chuỗi có giá trị từ một mảng
Ví dụ:
str = "Line <br> Line <br> Line <br> Line <br>"
$replace = array("1", "2", "3", "4");
my function would return
"Line 1 \n Line 2 \n Line 3 \n Line 4 \n"
Âm thanh đủ đơn giản. Tôi sẽ chỉ làm một vòng lặp trong khi, có được tất cả các lần xuất hiện của <br>
bằng cách sử dụng strpos, và thay thế những người có số lượng yêu cầu + \ n bằng cách sử dụng str_replace.
Vấn đề là tôi luôn gặp lỗi và tôi không biết mình đang làm gì sai? Có lẽ là một sai lầm ngớ ngẩn, nhưng vẫn còn khó chịu.
Đây là mã của tôi
$str = "Line <br> Line <br> Line <br> Line <br>";
$replace = array("1", "2", "3", "4");
$replaceIndex = 0;
while(strpos($str, '<br>') != false)
{
$str = str_replace('<br>', $replace[index] . ' ' .'\n', $str); //str_replace, replaces the first occurance of <br> it finds
index++;
}
Bất kỳ ý tưởng xin vui lòng?
Cảm ơn trước,
Vâng đầu tiên, tất cả trong phiên đầu tiên bạn sẽ thay thế tất cả các trường hợp của '
'.... Để làm theo cách này bạn sẽ phải chỉ phần replce của chuỗi sử dụng' substr_replace' cho phép bạn xác định các vị trí cho anh ta thay thế. – prodigitalson