Я наткнулся на этот простой учебник по груше: http://www.codediesel.com/php/search-replace-in-files-using-php/
include 'File/SearchReplace.php' ;
$files_to_search = array("fruits.txt") ;
$search_string = "apples";
$replace_string = "oranges";
$snr = new File_SearchReplace($search_string,
$replace_string,
$files_to_search,
'', // directorie(s) to search
false) ;
$snr->doSearch();
echo "The number of replaces done : " . $snr->getNumOccurences();
Автор использует в качестве примера файл fruits.txt.
Я бы хотел выполнить поиск и заменить файл .php.
По сути, я пытаюсь достичь этого:
При взаимодействии с пользователем открывается index.php,
$promoChange = "%VARYINGTEXT%";
ищется и заменяется на
$promoChange = "$currentYear/$currentPromotion";
Переменные $current
будут различаться, поэтому необходимо менять слова только между ""
.
Кто-нибудь знает, как можно выполнить задачу такого типа?
Если кто-нибудь знает какие-либо учебные пособия, относящиеся к этому предмету, это тоже будет с благодарностью.
Спасибо!
- У меня есть все остальное, что касается шаблона и взаимодействия с пользователем, у меня просто возникают проблемы, пытаясь решить, как выполнить этот тип поиска и замены. Я понимаю, как это должно быть сделано, поскольку я сделал что-то похожее, используя Visual Basic. Но я начинаю с того, что мой ответ на это будет perl? Я надеюсь, что это не так ...
Хорошо, моя проблема частично решена с помощью этого:
// 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 = "%VARYINGTEXT%";
Обнаружено и заменено "" текущими значениями сеанса. Но теперь, когда это изменилось, мне нужно его заменить и добавить текст между «И».
Есть идеи у кого-нибудь?