|
| Overstregning i dokument. Fra : Janus Hoi |
Dato : 04-02-04 01:04 |
| | |
Kristian Thy (04-02-2004)
| Kommentar Fra : Kristian Thy |
Dato : 04-02-04 01:19 |
|
Janus Hoi uttered:
> Hvordan laver man sådan at man kan skrive i adressefeltet:
>
> www.minserver.dk/artikel.php?ord=lakridsrod
>
> og så alle ordene lakridsrod bliver highlighted med en farve?
Hvis vi antager at du har sidens tekst i $output, kan du jo køre hele
teksten gennem:
echo preg_replace( $_GET['ord'],
"<span style=\"background-color:teal\">\\1</span>",
$output );
\\kristian
--
I need a googlebot to index my flat.
| |
Peter Brodersen (04-02-2004)
| Kommentar Fra : Peter Brodersen |
Dato : 04-02-04 02:22 |
|
On 4 Feb 2004 00:19:21 GMT, Kristian Thy <thy@it.edu> wrote:
>echo preg_replace( $_GET['ord'],
> "<span style=\"background-color:teal\">\\1</span>",
> $output );
Husk at preg_replace skal have delimiters på, og at du også skal bruge
capturing parenteser i udtrykket eller bruge \\0. Derudover bør
$_GET['ord'] også tjekkes for regex-tegn. Mit foreslag er:
<?php
$pattern = '/'.preg_quote($_GET['ord']).'/i';
$replacement = '<span style="background-color:teal">$0</span>';
echo preg_replace($pattern,
$replacement,
$output );
?>
Skal den kun matche hele ord, og ikke være case-insensitive, så kan
man fx bruge:
$pattern = '/\b'.preg_quote($_GET['ord']).'\b/';
--
- Peter Brodersen
Ebbesen for president!
| |
Peter Brodersen (04-02-2004)
| Kommentar Fra : Peter Brodersen |
Dato : 04-02-04 02:27 |
|
On Wed, 04 Feb 2004 02:21:51 +0100, Peter Brodersen <usenet@ter.dk>
wrote:
>$pattern = '/'.preg_quote($_GET['ord']).'/i';
Og her skulle delimiteren selvfølgelig have været, med, altså:
$pattern = '/'.preg_quote($_GET['ord'],'/').'/i';
Dvs.:
<?php
$pattern = '/'.preg_quote($_GET['ord'],'/').'/i';
$replacement = '<span style="background-color:teal">$0</span>';
echo preg_replace($pattern,
$replacement,
$output );
?>
--
- Peter Brodersen
Ebbesen for president!
| |
Kristian Thy (04-02-2004)
| Kommentar Fra : Kristian Thy |
Dato : 04-02-04 11:55 |
|
Peter Brodersen uttered:
> Husk at preg_replace skal have delimiters på, og at du også skal bruge
> capturing parenteser i udtrykket eller bruge \\0. Derudover bør
> $_GET['ord'] også tjekkes for regex-tegn.
Jaja - jeg glemte disclaimeren: "Denne kode er tæsket ud på 1½ minut
klokken alt for sent. Ikke testet. Bør ikke bruges af børn og
hunde. Etc. etc."
\\kristian
--
"Don't fuck with Benny the Cop!"
| |
|
|