PHPackages                             inspiredminds/contao-search-and-replace - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. inspiredminds/contao-search-and-replace

ActiveContao-bundle[Database &amp; ORM](/categories/database)

inspiredminds/contao-search-and-replace
=======================================

Search and replace strings in the database.

1.0.1(4mo ago)0851[1 PRs](https://github.com/inspiredminds/contao-search-and-replace/pulls)LGPL-3.0-or-laterPHPPHP &gt;=8.1

Since Apr 24Pushed 4mo ago2 watchersCompare

[ Source](https://github.com/inspiredminds/contao-search-and-replace)[ Packagist](https://packagist.org/packages/inspiredminds/contao-search-and-replace)[ Docs](https://github.com/inspiredminds/contao-search-and-replace)[ GitHub Sponsors](https://github.com/sponsors/fritzmg)[ RSS](/packages/inspiredminds-contao-search-and-replace/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (1)Dependencies (15)Versions (3)Used By (0)

[![](https://camo.githubusercontent.com/a2f74286695a38ab814f188aba882ad446f3115e10eb503b5e97c758c8973e78/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f696e7370697265646d696e64732f636f6e74616f2d7365617263682d616e642d7265706c6163652e737667)](https://packagist.org/packages/inspiredminds/contao-search-and-replace)[![](https://camo.githubusercontent.com/e73741c9484793ff7b9784a03c1270981b2b8a28a743203f09e6a498e3be5a3b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f696e7370697265646d696e64732f636f6e74616f2d7365617263682d616e642d7265706c6163652e737667)](https://packagist.org/packages/inspiredminds/contao-search-and-replace)

Contao Search &amp; Replace
===========================

[](#contao-search--replace)

Allows you to search the database for a specific string and replace the occurences with another. You can also specify individual records to be replaced.

Before the strings are replaced in the database, a backup (via Contao's database backup functionality) will be created automatically. Keep in mind that Contao only keeps one backup of the same day by default.

Configuration
-------------

[](#configuration)

### Default Tables

[](#default-tables)

When going to *Search &amp; Replace* in the back end, only the table `tl_content` will be selected by default. If you want other tables to be selected by default, you can change this via the `contao_search_and_replace.default_tables`parameter:

```
# config/config.yaml
parameters:
    contao_search_and_replace.default_tables:
        - tl_content
        - tl_news
        - tl_calendar_events
```

### Ignored Tables

[](#ignored-tables)

Some tables will not show up in the list of tables by default. You can change the list of tables to ignore via the `contao_search_and_replace.ignored_tables` parameter:

```
# config/config.yaml
parameters:
    contao_search_and_replace.ignored_tables:
        - altcha_challenges
        - messenger_messages
        - rememberme_token
        - search_and_replace_job
        - tl_crawl_queue
        - tl_cron_job
        - tl_log
        - tl_message_queue
        - tl_opt_in
        - tl_opt_in_related
        - tl_remember_me
        - tl_trusted_device
        - tl_undo
        - tl_version
        - webauthn_credentials
```

Asynchronous Operation
----------------------

[](#asynchronous-operation)

This extension supports asynchronous operation via Symfony Messenger - which will be important for large databases.

### Contao 5.3+

[](#contao-53)

In Contao **5.3** and up you will only need to route the messages manually:

```
# config/config.yaml
framework:
    messenger:
        routing:
            'InspiredMinds\ContaoSearchAndReplace\Message\SearchMessage': contao_prio_normal
            'InspiredMinds\ContaoSearchAndReplace\Message\ReplaceMessage': contao_prio_normal
```

You need to make sure though that a proper `contao:cron` cronjob is configured.

### Contao 4.13

[](#contao-413)

In Contao **4.13** you will also have to create a messenger transport, e.g.:

```
framework:
    messenger:
        transports:
            search_and_replace: 'doctrine://default?queue_name=search_and_replace'
        routing:
            'InspiredMinds\ContaoSearchAndReplace\Message\SearchMessage': search_and_replace
            'InspiredMinds\ContaoSearchAndReplace\Message\ReplaceMessage': search_and_replace
```

If you use such a `doctrine://` messenger transport you will also have to install `symfony/doctrine-messenger`:

```
composer require symfony/doctrine-messenger

```

Then you have to consume the messages somehow via

```
vendor/bin/contao-console messenger:consume search_and_replace

```

e.g. via a `crontab` entry like this:

```
* * * * * /usr/bin/php /var/www/example.com/vendor/bin/contao-console messenger:consume search_and_replace --time-limit=59 --quiet

```

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance76

Regular maintenance activity

Popularity13

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~295 days

Total

2

Last Release

132d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/25f6ec05570f72d0fcc4d0a4fef2309799d53badf8b30484284e73724661e0d8?d=identicon)[fritzmg](/maintainers/fritzmg)

---

Top Contributors

[![fritzmg](https://avatars.githubusercontent.com/u/4970961?v=4)](https://github.com/fritzmg "fritzmg (9 commits)")

### Embed Badge

![Health badge](/badges/inspiredminds-contao-search-and-replace/health.svg)

```
[![Health](https://phpackages.com/badges/inspiredminds-contao-search-and-replace/health.svg)](https://phpackages.com/packages/inspiredminds-contao-search-and-replace)
```

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.5M374](/packages/easycorp-easyadmin-bundle)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9317.2k55](/packages/open-dxp-opendxp)[shopware/storefront

Storefront for Shopware

674.4M209](/packages/shopware-storefront)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.4M518](/packages/shopware-core)[chameleon-system/chameleon-base

The Chameleon System core.

1027.9k4](/packages/chameleon-system-chameleon-base)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
