Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как заменить или удалить определенное значение в строке
 
 автор: Чайчайвыручай   (07.07.2011 в 19:03)   письмо автору
 
 

Здравствуйте!

Есть форма:

<td><form method='post' name='del'>
<input name='delete'  type='submit' value='Удалить'>
<input name='unsent'  type='submit' value='Заменить'>
</form></td>


Обработчик

if ($_POST['del'] = 'delete'){

Что то сделать с $buts = $_COOKIE['buts'];
    };
    if ($_POST['del'] = 'unsent'){

Что то сделать с $buts = $_COOKIE['buts'];
    }


$buts = a84#a3#a3#a3#a7# a84 #a2#a4#

Что нужно сделать что бы в $buts удалить элемент a84 или заменить на a5?

  Ответить  
 
 автор: Добрый кот   (07.07.2011 в 19:39)   письмо автору
 
   для: Чайчайвыручай   (07.07.2011 в 19:03)
 

str_replace не подходит?
$buts = str_replace("#a84","#a5",$buts); //заменить
    $buts = str_replace("#a84","",$buts); //удалить

  Ответить  
 
 автор: Чайчайвыручай   (07.07.2011 в 19:54)   письмо автору
 
   для: Добрый кот   (07.07.2011 в 19:39)
 

Не подходит, потому что заменит все "#a84" на "#a5", нужно конкертную, например пятую по счету. можно сделать строку массивом найти и заменить, но потом опять придется сделать строку и записать в кукисы. Думаю, может есть что без таких переделок

  Ответить  
 
 автор: Чайчайвыручай   (07.07.2011 в 20:02)   письмо автору
 
   для: Чайчайвыручай   (07.07.2011 в 19:54)
 

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

  Ответить  
 
 автор: Добрый кот   (07.07.2011 в 22:11)   письмо автору
 
   для: Чайчайвыручай   (07.07.2011 в 19:54)
 

Немного не понял, пятую #a84 среди всей строки (пример
a84#a3#a3#a3#a7#a84#a2#a4#a7#a84#a7#a84#a7#a84#a7#a84#a7#a84#a7#a84 на
a84#a3#a3#a3#a7#a2#a4#a7#a84#a7#a84#a7#a84#a7#a84#a7#a84#a7#a84) или подсчитать a84 и если их наберется пять, то менять пятую a84

(a84#a3#a3#a3#a7#a84#a2#a4#a7#a84#a7#a84#a7#a84#a7#a84#a7#a84#a7#a84
a84#a3#a3#a3#a7#a84#a2#a4#a7#a84#a7#a84#a7#a7#a84#a7#a84#a7#a84)?

  Ответить  
 
 автор: Чайчайвыручай   (08.07.2011 в 13:43)   письмо автору
 
   для: Добрый кот   (07.07.2011 в 22:11)
 

Как в первом примере. Менять/удалять определенную по счету.

  Ответить  
 
 автор: Добрый кот   (08.07.2011 в 14:08)   письмо автору
 
   для: Чайчайвыручай   (08.07.2011 в 13:43)
 

<?php
        $buts 
'a84#a3#a3#a3#a7#a84#a2#a4#a7#a84#a7#a84#a7#a84#a7#a84#a7#a84#a7#a84';
        
$explode_buts explode'#'$buts );
        
$explode_buts[5] = ''// Номер нужного блока (нумерация начинается с нуля)
        
$implode_buts implode("#"$explode_buts);
        
$buts str_replace("##","#",$implode_buts);
        
var_dump($buts);    //string(63) "a84#a3#a3#a3#a7#a2#a4#a7#a84#a7#a84#a7#a84#a7#a84#a7#a84#a7#a84" 
?>
Должно работать

  Ответить  
 
 автор: Чайчайвыручай   (08.07.2011 в 14:41)   письмо автору
 
   для: Добрый кот   (08.07.2011 в 14:08)
 

Спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования