<?php
$dot_prod = "at the coast will reach the Douglas County coast";
//=> at the <b>coast</b> will reach <b>the</b> Douglas County coast
//Specifically, I want to bold the word "coast" and "the" but only the word coast if not preceded by the
//word "county" and only the word "the" if not preceded by the word "at". So, essentially I want an array
//of words or phrases (case-insensitive that keeps the case the word/phrase was originally in)
//to be bolded and then an array of words or phrases that I want to ensure are not bolded.
//For instance, the array of words/phrases that I want bolded are:
$bold = array("coast", "the", "pass"); //and the array of words I want to ensure are unbolded are:
$unbold = array("county coast", "at the", "grants pass"); $rx = "~\b(?:" . implode("|", $unbold) . ")\b(*SKIP)(*F)|\b(?:" . implode("|", $bold) . ")\b~i"; echo "$rx\n";
PD9waHAKCiRkb3RfcHJvZCA9ICJhdCB0aGUgY29hc3Qgd2lsbCByZWFjaCB0aGUgRG91Z2xhcyBDb3VudHkgY29hc3QiOwovLz0+ICAgICAgICAgYXQgdGhlIDxiPmNvYXN0PC9iPiB3aWxsIHJlYWNoIDxiPnRoZTwvYj4gRG91Z2xhcyBDb3VudHkgY29hc3QKCi8vU3BlY2lmaWNhbGx5LCBJIHdhbnQgdG8gYm9sZCB0aGUgd29yZCAiY29hc3QiIGFuZCAidGhlIiBidXQgb25seSB0aGUgd29yZCBjb2FzdCBpZiBub3QgcHJlY2VkZWQgYnkgdGhlIAovL3dvcmQgImNvdW50eSIgYW5kIG9ubHkgdGhlIHdvcmQgInRoZSIgaWYgbm90IHByZWNlZGVkIGJ5IHRoZSB3b3JkICJhdCIuIFNvLCBlc3NlbnRpYWxseSBJIHdhbnQgYW4gYXJyYXkKLy9vZiB3b3JkcyBvciBwaHJhc2VzIChjYXNlLWluc2Vuc2l0aXZlIHRoYXQga2VlcHMgdGhlIGNhc2UgdGhlIHdvcmQvcGhyYXNlIHdhcyBvcmlnaW5hbGx5IGluKSAKLy90byBiZSBib2xkZWQgYW5kIHRoZW4gYW4gYXJyYXkgb2Ygd29yZHMgb3IgcGhyYXNlcyB0aGF0IEkgd2FudCB0byBlbnN1cmUgYXJlIG5vdCBib2xkZWQuIAovL0ZvciBpbnN0YW5jZSwgdGhlIGFycmF5IG9mIHdvcmRzL3BocmFzZXMgdGhhdCBJIHdhbnQgYm9sZGVkIGFyZToKCiRib2xkID0gYXJyYXkoImNvYXN0IiwgInRoZSIsICJwYXNzIik7Ci8vYW5kIHRoZSBhcnJheSBvZiB3b3JkcyBJIHdhbnQgdG8gZW5zdXJlIGFyZSB1bmJvbGRlZCBhcmU6CgokdW5ib2xkID0gYXJyYXkoImNvdW50eSBjb2FzdCIsICJhdCB0aGUiLCAiZ3JhbnRzIHBhc3MiKTsKJHJ4ID0gIn5cYig/OiIgLiBpbXBsb2RlKCJ8IiwgJHVuYm9sZCkgLiAiKVxiKCpTS0lQKSgqRil8XGIoPzoiIC4gaW1wbG9kZSgifCIsICRib2xkKSAuICIpXGJ+aSI7CmVjaG8gIiRyeFxuIjsKZWNobyBwcmVnX3JlcGxhY2UoJHJ4LCAiPGI+JDA8L2I+IiwgJGRvdF9wcm9kKTs=