DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:strreplace

This is an old revision of the document!


strreplace Plugin

Compatible with DokuWiki

adora belle, weatherwax

plugin Does search and replace on up to 4 strings when file is loaded into the editor

Last updated on
2013-06-11
Provides
Action
Repository
Source

This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.

Similar to spreadout

Tagged with regexp, replace, search, string, text

This plugin will do a search and replace on up to four strings set in the Configuration Manager. It works transparently in the background. When the user opens the file in the editor, the new string is in place. When the file is saved the replacement becomes permanent.

Installation

Install the plugin using the Plugin Manager and the download URL above, which points to latest version of the plugin. Refer to Plugins on how to install plugins manually.

Usage

Enter up to four strings and their replacements in the Configuration Manager. Then set the 'do_replace' option to true. When the page is loaded into the editor the plugin will do the search and replace.

The Search and Replacement strings are numbered 1-4. The Search strings may be regular expressions as described below in the examples section.

The replacements are done in the editor when the page is loaded for editing. But the plugin understands Cancel and the changes will not become permanent unless the page is saved.

The Search and Replace Session

The plugin keeps track of the pages which it has processed and will not re-process the same page twice during the same search and replace session. A session remains in effect for as long as the 'do_replace' option is set to true. To start a new session, set the 'do_replace' option to false, save the updated configuration, then reset it to true and re-save. Processing can also be suspended. See Configuration Options below.

Examples

Regular expressions must be bracketed by hashes:

 #regex#

They can include PCRE internal options, though not all are guaranteed to work; you will have to test. All searches include the 'ms' options by default, but (?i) will set case insensitivity.

ExampleSearch Replace
1Number **Number**
2#N.*?r# **Number**
3#(?i)N.*?r# **Number**

All will result in **Number**. But example 2 will also replace Newer, while example 3 will replace both number and never by **Number**. Regular expressions should be used with care.

Also, it might be useful in some cases to know that the substitutions are done in order, that is,
Search Term 1, Search Term 2, etc.

Configuration Options

do_searchTo do a search and replace, set this option to true. For each Search Term enter a Replacement at the same numbered position. strreplace keeps a list of the files it has processed. If this option is set to false after strreplace has been active, the list will be deleted. When it is re-set to true, a new session will be activated and all files will be re-processed.
suspend When set to true this option temporarily suspends the search and replace processing. This does not affect the list of previously processed files. The current session remains in effect.
search_1 Search Term 1: the search string entered here is replaced by Replacement 1, etc. Search terms and their replacements can be set at any time, even during an active session. However, only pages which have not already been processed will be affected by the new setting.
search_2 Search Term 2
search_3 Search Term 3
search_4 Search Term 4
replace_1 Replacement 1
replace_2 Replacement 2
replace_3 Replacement 3
replace_4 Replacement 4

Discussion

Replace word into same word but on a new line

Is it possible to search on the word '<code' that is not starting at the beginning of a new line and replace it by '<code' but on a new line?

For example: this is a test<code php>
should be replaced into
this is a test
<code php>

The plugin only accepts valid dokuwiki syntax, so there is no way to insert a newline. You can, however, insert the dokuwiki markup for the newline, which is the double backslash; however, to get the double backslash you must enter four backslashes in the replacement string, since each backslash must be escaped: \\\\. — Myron Turner 2014-07-25 16:48
plugin/strreplace.1433511356.txt.gz · Last modified: 2015-06-05 15:35 by turnermm

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki