Search and Replace Scanner can do plain text search-and-replace, or regular expression search-and-replace, against the title, body and text content fields on all nodes in your system. This is useful for finding html strings that Drupal's normal search will ignore. The module is very handy if you are fixing typos in a lot of content, changing the name of your company, or are changing the URL of a link included multiple times in multiple nodes, among other things.

Features

  • Can search and replace text in CCK text fields, in addition to standard node title
    and body fields
  • Plain text search and replace orregular expression search and replace
  • Case sensitive search option
  • Plain text search allows 'whole word' matching option. For example,
    searching for "run" with the whole word option selected will filter out
    "running" and "runs", but will match "run!"
  • Can specify text that should precede or follow the search text in order for a match to be valid
  • Can limit search and replace to published nodes only
  • Searches can be limited to specific fields in specific node types, and can further be limited to nodes containing only specific taxonomy terms
  • Will save a new node revision when a replacement is made, in case you want
    to revert a change, and provides an Undo option that lets you revert all nodes that were update in a single replace operation
  • Can dynamically update teasers after replacements in other fields, or can
    by updated manually, or not at all
  • Will dynamically expand PHP's maximum execution time for scripts up to
    10 minutes on servers that support it. This allows complex queries on large
    bodies of content
  • Search results for searches and replacements can be themed

Limitations

  • Only works with MySQL database. (Postgres patches welcomed!)
  • Large search and replace actions may not finish on sites that are hosted in environments where PHP's max_execution_time variable can't be dynamically expanded. The module automatically attempts to expand the maximum execution time of a script to 10 minutes. (It's often set at 2 minutes.) If your Web host doesn't let you adjust this variable dynamically, you may be able to ask your hosting provider to make the change for your account.

Warning

This is a very powerful tool that operates directly on your database tables, and as such is very dangerous. Though there is an undo feature, we highly encourage you to backup your database before using it.

Similar Modules

Credits

  • Version 5.x-2.0: Amit Asaravala (aasarava) and Jason Salter (jpsalter). Sponsored by FivePaths, LLC.
  • version 5.x-1.0: Tao Starbow (starbow).
  • Supporting organizations: 
    Ongoing support

    Project information

    Releases