Показать сообщение отдельно

  #6  
Старый 07.06.2009, 15:36
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами: 8915117

Репутация: 389
По умолчанию

Цитата:
Сообщение от spamoney  
Нет, это совсем не то, необходимо определить местоположение {num} {rus} {eng} в $str1 и уже потом делать замену в $str2
PHP код:
<?php

//$str_1 = "index.php?var={num}&text={rus}&param={eng}";
$str_1 'index.php?var=666&text=111&param=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}&param={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..
 
Ответить с цитированием