PHP / PEAR SearchReplace - Строка является «varingText» - Как заменить «varingText» на «newVaryingText»? - PullRequest
0 голосов
/ 24 сентября 2011

У меня есть простое приложение, основанное на классе php pear SearchReplace:

// Define result of Activate click
    if (isset($_POST['action']) and $_POST['action'] == 'Activate')
{   
    include "$docRoot/includes/pear/SearchReplace.php" ;
    $files = array( "$docRoot/promotions/index.php" ) ;
    $snr = new File_SearchReplace( '$promoChange = "";', '$promoChange = "'.$currentYear.'/'.$currentPromotion.'";', $files) ;
    $snr -> doSearch() ;
}

Обратите внимание на строку, для которой настроен поиск:

$promoChange = "";

Что мне нужно сделать, это заменить эту строку, когда переменной присваивается переменное значение $promoChange Так что в основном то, что я пытаюсь заменить, будет выглядеть примерно так:

$promoChange = "2011/sep-oct";

Мне нужно что-то вроде:

$promoChange = "%";

Каков будет правильный способ сделать это?

Если у кого-то есть какие-либо входные данныев этом вопросе, будет очень признателен,

Спасибо!

1 Ответ

1 голос
/ 24 сентября 2011

Вы можете открыть файл и заменить его с помощью регулярных выражений вручную. Необходимое регулярное выражение, вероятно, выглядит примерно так:

$text = preg_replace(
    '/\$promoChange = "[^"]*";/',
    '$promoChange = "' . $currentYear . '/' . $currentPromotion . '"',
    $text
);

Я бы предостерег от использования чего-то подобного для чего-то более сложного.

...