Заменяне на точка с _

semprom

Registered
Здравейте.
Имам примерно следния стринг: нещо.нещо.22е2.нещо.bin .
Въпроса ми е как да заменя точките с _ без последната? Не се знае колко точно може да има в дадения стринг.

Благодаря.
 
На какъв език трябва да се напише ? Нещо такова ?
Код:
$filename = "bla.bla.bla.blabla.bla.dat";
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$filename = str_replace(".", "_", str_replace(".{$ext}", "", $filename)) . ".{$ext}"; 
echo $filename;
Поздрави.
 
PHP:
$string = "some.text.some.text.some.text.jpg";
$arr = explode(".",$string);
$n = count($arr);
$first = $arr[$n-1];

$first = str_replace(".","_",$first);

echo $first.".".$arr[$n];

:idea:

(не е тестван)
 
PHP:
<?php
$string = 'something.else.ending.with.dot.';
$string = str_replace('.', '_', $string);
$string[strlen($string) - 1] = '.';

echo $string;

http://codepad.org/SYMytyTh

Няма смисъл да се прави на масив и т.н.
 
лол не съм разбрал проблема. Щото не стана ясно за коя последна точка става дума от примера. :D В такъв случай това е кода:

PHP:
<?php
$string = 'something.with.many.dots.last';
$lastDotPos = strrpos($string, '.');
echo str_replace('.', '_', substr($string, 0, $lastDotPos - 1)) . substr($string, $lastDotPos);
 

Back
Горе