Hi,
Here's what you need:
RegEx:
/((\w+)?#SearchTermHere#(\w+)?)/i
Of course, replace your #SearchTermHere# with what you need,
i.e. /((\w+)?ethyl(\w+)?)/i
Code sample:
$_textToHighlight='ethyl Lorem Ethyl ipsum MeThYl dolor Ethylene sit';
$_search='/((\w+)?ethyl(\w+)?)/i';
$_replace='<b>\\1</b>';
$_highlightedText=preg_replace($_search,$_replace,$_textToHighlight);
This should output:
<b>ethyl</b> Lorem <b>Ethyl</b> ipsum <b>MeThYl</b> dolor
<b>Ethylene</b> sit
Hope it helps,
PuYa
C.R.Vegelin wrote:
----- Original Message ----- From: "Deniz Dizman (BST UGB)"
<DENIZ.DIZMAN@xxxxxxxxxxxxx>
To: "C.R.Vegelin" <cr.vegelin@xxxxxxxxx>; "php-general@xxxxxxxxxxxx"
<php-general@xxxxxxxxxxxxx>
Sent: Thursday, September 20, 2007 11:29 AM
Subject: RE: highlighting searchterms as bold text
thats odd because the regex passes when I test it with this online tool:
http://samuelfullman.com/team/php/tools/regular_expression_tester_p2.php
--
dd
-----Original Message-----
From: C.R.Vegelin [mailto:cr.vegelin@xxxxxxxxx]
Sent: Thursday, September 20, 2007 1:59 PM
To: Deniz Dizman (BST UGB); php-general@xxxxxxxxxxxx
Subject: Re: highlighting searchterms as bold text
----- Original Message -----
From: "Deniz Dizman (BST UGB)" <DENIZ.DIZMAN@xxxxxxxxxxxxx>
To: "C.R.Vegelin" <cr.vegelin@xxxxxxxxx>; "php-general@xxxxxxxxxxxx"
<php-general@xxxxxxxxxxxxx>
Sent: Thursday, September 20, 2007 10:38 AM
Subject: RE: highlighting searchterms as bold text
try /^ethyl/i
what you want is ignore case and pattern begins with
--
dd
> -----Original Message-----
> From: C.R.Vegelin [mailto:cr.vegelin@xxxxxxxxx]
> Sent: Thursday, September 20, 2007 1:31 PM
> To: php-general@xxxxxxxxxxxx
> Subject: highlighting searchterms as bold text
>
> Hi everyone,
>
> I want to highlight (bold) searchterms in text.
> For example, for all words starting with "ethyl":
> a) replace "ethyl" by "<b>ethyl</b>"
> b) replace "Ethyl" by "<b>Ethyl</b>"
> c) replace "ethylene" by "<b>ethylene</b>"
> d) but not "methyl" by "<b>methyl</b>"
>
> Now I use:
> $patterns[0] = "/ethyl/";
> $replacements[0] = "<b>ethyl</b>";
> $text = preg_replace($patterns, $replacements, $text);
>
> This works for a) and c), but not for b) and d).
> Any idea how to do this ?
>
> TIA, Cor
>
Thanks Deniz,
I tried pattern /^ethyl/i but this does not highlight anything.
I also tried pattern /ethyl/i and this highlights all, but
also methyl ...
Any suggestion ?
Cor
Hi Deniz,
I tried the referred regex tool as well,
and I get Bad Result for /^ethyl/i
and Good Result for /ethyl/i
Cor
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php