Добавить перед точкой свой текст в предложении PHP
У меня есть строка, например, "001.jpg". Как перед точкой добавить нужное мне слово. Чтобы получить, "001hello.jpg" ?
Ответы (4 шт):
Автор решения: Haku Kimura
→ Ссылка
Например, так:
$string = '001.jpg';
$parts = explode('.', $string);
echo $parts[0] . 'hello.' . $parts[1];
Если в строке может быть несколько символов .:
$string = '001.002.003.jpg';
$parts = explode('.', $string);
$result = [];
for ($i = 0; $i < count($parts); $i++) {
$result[] = ($i == count($parts) - 2) ? $parts[$i] . 'hello' : $parts[$i];
}
echo implode('.', $result);
Автор решения: hellokitViki
→ Ссылка
Один из вариантов оказался вот такой пример:
$t = 001.jpg;
$t = str_replace(
["."], //
["hello."],
$t
);
Автор решения: Алексей Шиманский
→ Ссылка
$str = "001.jpg";
$add = "hello";
echo str_replace('.', $add . '.', $str);
$string = '001.jpg';
$add = "hello";
$pattern = '/(.*?)(\.)(.*?)/i';
$replacement = '${1}' . $add . '${2}${3}';
echo preg_replace($pattern, $replacement, $string);
Автор решения: Эдуард
→ Ссылка
Ещё вариант в коллекцию ответов
$str = '001.jpg';
$add = 'hello';
$pos = strpos($str, '.');
$str = substr($str, 0, $pos) . $add . substr($str, $pos);
echo $str;