PHP: вставить строку перед последним символом - PullRequest
0 голосов
/ 01 июля 2019

В настоящее время я пытаюсь вставить строку после последнего символа сообщения.Итак, изначально сообщение:

Спасибо.Ваш заказ был получен.

Теперь я хочу вставить еще одну строку между d и ..Это то, что я пробовал, но оно не работает:

$received_text = substr_replace( $received_text, ', but must be payed', substr( $received_text, - 1 ), 0 );

Вставляется в начало моего сообщения.Любая помощь была бы хороша!

Ответы [ 4 ]

1 голос
/ 01 июля 2019

Вы можете использовать этот фрагмент для вставки строки ПОСЛЕ любой строки.

$received_text = "Thank you. Your order has been received.";
$search_string = "received"; //string AFTER which you want to insert another
$insert_string = " now"; //string to be inserted
$position = strpos(strtolower($received_text), strtolower($search_string))+strlen($search_string); //strpos is case sensitive

$received_text = substr_replace($received_text, $insert_string, $position,0);

echo $received_text;

Надеюсь, это поможет:)

1 голос
/ 01 июля 2019

Вы можете использовать substr(), чтобы разбить строки на нужные части и добавить новую между ними

<?php

$string = 'Thank you. Your order has been received.';
$newPart = ', and we\'ll ship it soon';

$string = substr($string, 0, -1)  . $newPart . substr($string, -1);

echo $string;

PHP документация для substr

1 голос
/ 01 июля 2019

На основе substr_replace () Руководство

Старт

Если начало неотрицательно, замена начнется с начального смещения в строку.

Если начало отрицательное, замена начнется с начального символа с конца строки.

Таким образом, в основном вы должны предоставить числовое значение, чтобы замена начиналась с этой конкретной позиции.

Делай как ниже: -

<?php
$received_text ='Thank you. Your order has been received.';
echo $received_text = substr_replace( $received_text, ', but must be payed', (strlen($received_text) - 1), 0 );

Выход: - https://3v4l.org/ihLOk

1 голос
/ 01 июля 2019
$received_text = substr_replace($received_text, ', but must be payed', (strlen($received_text) - 1), 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...