Регулярные выражения

Robert

Новичок
Регулярные выражения

Всем привет.
Помогите пж с регуляркой.

есть строка:

$tp = "dfgdfg?ffffff?dddddd?jjjjjj?";

надо первый ? оставить ,а другие заменить на &
Знаков вопроса может быть много.

Спасибо
 

AHTIXPICT

Новичок
Помоему тут регулярки не нужны.
Находишь позицию первого "?" береш кусок этой строки,
во всей остальной строке заменяешь "?" на "&"

Простые строковые ф-ии
+ можно использовать ф-ию explode
 

Robert

Новичок
PHP:
<?
$tp = "dfgdfg?ffffff?dddddd?jjjjjj?";
$tpm=explode("?",$tp);
$tp=strstr($tp, '?');
$tp=substr("$tp", 1);
$tp=preg_replace ("(\?)","&",$tp);
echo "$tpm[0]?"."$tp";
?>
А компактней никак не получиться?
 

SiMM

Новичок
1. Ну и зачем там после всего этого регулярник понадобился?
2. Зачем переменные заключать в кавычки?
3. А компактность - это принципиально?
PS: и вообще это всё делается в три действия ([m]list[/m], [m]explode[/m], [m]str_replace[/m]), если не считать конкатенации.
 

SelenIT

IT-лунатик :)
Как вариант:
PHP:
$tmp_array = explode("?",$tp);
$rezult = array_shift($tmp_array) . '?' . implode("&", $tmp_array);
 
Сверху