=== String Replacer ===
Contributors: baiatulutata
Tags: string replace, translation, email filter, content filter, admin tool
Requires at least: 5.0
Tested up to: 6.9
Requires PHP: 7.2
Stable tag: 1.4.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Plugin URI: https://github.com/baiatulutata/string-replacer

Replace any string visible to site visitors or found in outgoing emails—titles, content, footers, and more. Comes with a dynamic admin interface.

== Description ==

String Replacer lets you define pairs of strings to search and replace across your WordPress site — including content, post titles, footer text, and outgoing emails. It works instantly and includes a simple admin interface for managing replacements.

== Features ==

- Replace strings in:
  - Post **titles**
  - Post **content**
  - Site-wide output (e.g., **footer**, **widgets**, etc.)
  - Outgoing **emails** (`wp_mail()`)
- Simple **admin UI** with:
  - Add/remove rows
  - Live search
  - Pagination
- Replaces email addresses and works inside `mailto:` links
- **Preserves leading and trailing spaces** in replacement strings
- Supports multilingual and branding replacement use cases
- Fully local, compliant with WordPress plugin guidelines

== Installation ==

1. Upload the plugin to `/wp-content/plugins/`, or install via the WordPress Plugin Directory.
2. Activate it via the 'Plugins' screen.
3. Navigate to **Settings → String Replacer** to add your string pairs.

== Usage ==

1. In the admin screen, add one or more rows:
   - "Original String" (e.g., `Hello`)
   - "Replacement String" (e.g., `Bonjour`)
2. Save your changes.
3. The plugin will handle replacements in frontend output and emails automatically.

== Examples ==

- Replace `support@oldsite.com` → `help@newbrand.com`
- Replace `Hello` → `Bonjour`
- Replace `ACME Inc.` → `NewCorp`
- Replace `"Hello "` (with a space) → `"Hi "` (space preserved)

== Filters & Extensibility ==

This plugin hooks into:
- `the_title` and `the_content`
- `template_redirect` output buffering
- `wp_mail` filter (subject, message, and headers)

Developers can use `STRIRE_replace_strings( $text )` to apply replacements manually in custom contexts.

== Frequently Asked Questions ==

= Will it work with custom post types or WooCommerce? =
Yes, any output that uses `the_title` or `the_content` filters, or appears in final HTML output, will be processed. This includes many plugins.

= Will it replace strings in dynamic JavaScript or AJAX responses? =
No, it only replaces visible strings rendered in HTML or passed through known filters.

== Changelog ==

= 1.4.2 =
* Added support for preserving leading/trailing whitespace in string replacements
* Improved sanitization logic using `wp_unslash()`
* Updated plugin description and feature list

= 1.4.1 =
* Changed contact information in readme files

= 1.4 =
* Various fixes to get the plugin approved in the directory

= 1.3 =
* Fixed Out of Date Libraries
* Allowing Direct File Access to plugin files

= 1.2 =
* Added `wp_mail` support for replacing strings in emails
* Added search, pagination, and better sanitization in the admin grid
* Localized all scripts and removed CDN dependencies for WP.org compliance

== Author ==

Created by **Ionut Baldazar**
GitHub: https://github.com/baiatulutata
Email: baiatulutata@woomag.ro
