=== Jessore Find & Replace ===
Contributors: sadathossainwp
Tags: find and replace, search and replace, regex, content, real-time
Requires at least: 5.6
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Unlimited, real-time find & replace for your site's output — text, HTML, or link URLs — with no changes to your theme or plugin files.

== Description ==

Jessore Find & Replace lets you dynamically replace text, HTML, or links coming from your theme, plugins, or content — right before a page is sent to a visitor's browser. Nothing is written back to your database, theme files, or plugin files, so the change is instant and fully reversible: disable or delete a rule and the original output is back immediately.

Because it works on the final page output, it doesn't matter whether the text you want to change comes from your theme, a page builder, a shortcode, or another plugin — if it appears on the page, Jessore Find & Replace can catch it.

**Key Features**

* Unlimited rules — no cap on how many find & replace rules you can create.
* Plain text or Regex matching — simple literal replacement, or full PCRE regular expressions.
* Case-sensitive toggle — match exact case, or ignore it, per rule.
* Scope targeting per rule — whole page, post/page content only, or post/page titles only.
* URL targeting — restrict a rule to URLs containing a given path or string.
* Enable/disable per rule without deleting it.
* Drag-and-drop reordering.
* Rule labels to keep a long list organized.
* Live "Test" button — see match count on your homepage before saving.
* Import/Export rules as JSON.
* Link (href) replacement — matching runs on raw HTML, so it works inside an `<a href="...">` attribute, not just visible text.
* Translation-ready and cleanly uninstalls (including on every site of a multisite network).

= Common uses =

1. Swap out text a theme or plugin outputs, without editing theme/plugin files.
2. Remove or change footer credits, badges, or notices from a theme.
3. Adjust wording on a shop or checkout page from a plugin you don't want to modify directly.
4. Update an outdated link (including affiliate or tracking URLs) sitewide without a find-in-files edit.

== Installation ==

1. Upload the `jessore-find-replace` folder to `/wp-content/plugins/`, or install the zip via Plugins → Add New → Upload Plugin.
2. Activate the plugin through the 'Plugins' menu in WordPress.
3. Go to Settings → Jessore Find & Replace to add your rules.
4. Click "+ Add Rule" to add as many rules as you need, then Save Changes.

== Frequently Asked Questions ==

= Where is my data stored? =

In a single option in the `wp_options` table, no matter how many rules you add.

= Is there a limit on the number of rules? =

No — add as many as you like.

= What does the Regex checkbox do? =

Leave it unchecked for a plain, literal text match (the Case sensitive checkbox controls whether letter case matters). Check it to use a PHP-compatible regular expression (PCRE) pattern instead — remember to include delimiters and any modifiers yourself, e.g. `/hello/i`.

= Can I replace a link's URL without changing the visible link text? =

Yes. Matching happens on the raw HTML, so a rule can target the URL inside an `href="..."` attribute independently of the text between the `<a>` tags.

= What does "Scope" do? =

"Whole page" matches anywhere in the final HTML. "Post/page content only" and "Post/page titles only" restrict matching to just those parts, so a common word doesn't get replaced somewhere you didn't intend.

= The "Test" button says it failed or times out =

Some hosts block "loopback" requests (the server calling its own site). If Test consistently fails, ask your host to allow loopback connections, or save the rule and check it on the live page directly.

= Does this send any data outside my site? =

No. The optional "Test" button sends a request from your own server to your own site's homepage — nothing is sent to any third-party service.

== Screenshots ==

1. The Jessore Find & Replace settings screen, with rule cards.
2. Adding a new find & replace rule.

== Changelog ==

= 1.0.0 =
* Initial release: unlimited find & replace rules, plain text or regex matching, case-sensitive toggle, scope targeting (whole page / content / title), URL targeting, per-rule enable/disable, drag-and-drop reordering, rule labels, live "Test" match preview, and JSON import/export. "Whole page" scope uses WordPress's own template enhancement output buffer (WP 6.9+); on older versions those specific rules are skipped with a notice, rather than falling back to a less predictable method.
