Я знаю, что это очень простой вопрос, но мне просто интересно, есть a native php method to inject a string into another string
. Мой обычный ответ на новое манипулирование текста заключается в том, чтобы проконсультироваться с инструкциями руководства по строковым функциям. Но я не видел никаких собственных методов для явной вставки строки в другую строку, поэтому я решил, что я проконсультирую с SO.
Ответ, вероятно, представляет собой некоторую комбинацию родных строковых функций php ИЛИ просто регулярное выражение (из-за чего мой глаз истекает кровью и мой мозг тает, поэтому я избегаю этого).
EX: Возьмите строку, как some-image.jpg
и .big
перед .jpg
some-image.big.jpg
Вы можете делать все с регулярными выражениями !
Для вашего конкретного запроса решение будет:
$var = 'myimage.jpg'; $new_var = preg_replace('/\.jpg$/', '.big$0', $var);
Я бы предложил прочитать, как писать регулярные выражения, поскольку они могут быть очень полезными в разработке ( вот отправная точка ).
Вы можете использовать substr_replace
для вставки строки, заменив подстроку нулевой длины своей вставкой:
$string = "some-image.jpg"; $insertion = ".big"; $index = 10; $result = substr_replace($string, $insertion, $index, 0);
На странице руководства (описание аргумента length
(4)):
Если длина равна нулю, эта функция будет иметь эффект вставки замены в строку при заданном смещении начала.
См. Это: http://www.krizka.net/2007/12/29/how-to-insert-a-string-into-another-string-in-php/
$newstring=substr_replace($orig_string, $insert_string, $position, 0);