
07.06.2009, 15:36
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами:
8915117
Репутация:
389
|
|
Сообщение от spamoney
Нет, это совсем не то, необходимо определить местоположение {num} {rus} {eng} в $str1 и уже потом делать замену в $str2
PHP код:
<?php
//$str_1 = "index.php?var={num}&text={rus}¶m={eng}";
$str_1 = 'index.php?var=666&text=111¶m=888';
$str_2 = '{rus}/page-{num}/{eng}.html';
$regexp = '/[\?|&]([^=]*)=([^&]*)/is';
preg_match_all($regexp , $str_1, $match);
for($i = 0; $i < count($match[2]); $i++)
{
switch($match[1][$i])
{
case 'var':
$var = '{rus}';
break;
case 'text':
$var = '{num}';
break;
case 'param':
$var = '{eng}';
break;
}
//$str_2="666/page-111/888.html";
$str_2 = str_replace($var, $match[2][$i], $str_2);
}
echo($str_2);
?>
или
PHP код:
<?php
$str_1 = "index.php?var={num}&text={rus}¶m={eng}";
$str_2 = '{rus}/page-{num}/{eng}.html';
$regexp = '/[\?|&]([^=]*)=([^&]*)/is';
preg_match_all($regexp , $str_1, $match);
for($i = 0; $i < count($match[2]); $i++)
{
switch($match[2][$i])
{
case '{rus}':
$var = '1';
break;
case '{num}':
$var = '2';
break;
case '{eng}':
$var = '3';
break;
}
$str_2 = str_replace($match[2][$i], $var, $str_2);
}
echo($str_2);
?>
Наверное ты так хотел?
Последний раз редактировалось FireFenix; 07.06.2009 в 15:43..
|
|
|