помогите заменить регуляркой

Тема в разделе "PHP", создана пользователем phillip, 11 май 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    помогите заменить с помощью preg_replace
    это
    PHP:
    VALUES (212735953561273595356301'авпсми''admin''AA0000'000)
    на это
    PHP:
    VALUES (212735953561273595356301'авпсми''admin''AA0000'000'yes')
    вместо нуля может быть любая цифра. как и вместо всего остального. неизменным остается кол-во запятых)
     
  2. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    PHP:
    $data "VALUES (2, 1273595356, 1273595356, 3, 0, 1, 'авпсми', 'admin', 'AA0000', 0, 0, 0, 'yes')";
    $pattern "#VALUES \((.+)\, (.+)\, (.+)\, (.+)\, (.+)\, (.+)\, (.+)\, (.+)\, (.+)\, (.+)\, (.+)\, (.+)\, (.+)\)#";
    $replacement "VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12)";
    $result preg_replace($pattern$replacement$data);
     
    phillip нравится это.
  3. -=Xardas=-

    -=Xardas=-

    Регистр.:
    17 сен 2008
    Сообщения:
    250
    Симпатии:
    58
    или вот так:
    PHP:
    $txt =  "VALUES (2, 1273595356, 1273595356, 3, 0, 1, 'авпсми', 'admin', 'AA0000', 0, 0, 0)";
    echo 
    preg_replace("`VALUES \((.*)\)`""VALUES (\\1, 'yes')"$txt);
     
    phillip нравится это.
  4. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    saen, ты из 13ти сделал 12. мне наоборот, к 12му добавить тринадцатое надо :nezn:

    -=Xardas=-, не помогло, что-то не так)
     
  5. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    PHP:
    $txt =  "VALUES (2, 1273595356, 1273595356, 3, 0, 1, 'авпсми', 'admin', 'AA0000', 0, 0, 0)"
    $txt preg_replace("`VALUES \((.*)\)`""VALUES ($1, 'yes')"$txt);  
     
    phillip нравится это.
  6. stealtheos

    stealtheos Создатель

    Регистр.:
    28 апр 2010
    Сообщения:
    19
    Симпатии:
    1
    А так еще проще и короче
    PHP:
    preg_replace("`\)`"", 'yes')"$txt);
    только зачем извращаться регуляркой если можно через str_replace аналогичным образом
     
  7. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Наверное потому что ТС просил сделать замену с помощью preg_replace
     
Статус темы:
Закрыта.