Hallo, ik heb een (Mischien iets te) ingewikkelde vraag. Ik heb een script wat een tabel aanmaakt met daarin de waardes uit een array. Is het mogelijk om een bepaald woord uit die array een andere kleur te geven? Het script ziet er zo uit.

<?

echo "<tr><td class=col1>" . $matches[1][0] . "</td><td class=col2>" . $matches[2][0] . "</td><td class=col3>" . $matches[3][0] . "</td><td class=col7>" . $matches[4][0] . "<span class=f>" . $matches[5][0] . "</span></td></tr>";

?>
Dat is mogelijk, controleer met een if functie of het het woord is, zo ja, dan wordt het een class met een teken. In je CSS kan je dan die class een andere tekstkleur geven.
<?php

foreach( $matches as $iKey => $aMatch )
{
if( strtolower($aMatch[0]) == 'woord' )
{
$matches[$iKey][0] = '<span style="color:#f00">' . $aMatch[0] . '</span>';
}
}

?>

edit:

Als je meerdere woorden wil hebben kun je het beste een switch in de foreach loop maken.
Wat er nu gebeurd is dat hij het een kelur geeft als $matches gelijk is aan woord? Het gaat eigenlijk om $matches[4][0]. Als daar het woord in voorkomt moet hij die een kleur geven. Maar het kan zijn dat er een zin in die array zit en hij hoeft alleen het woord maar een kleur te geven.
<?php

$matches[4][0] = preg_replace('/woord/i', '<span style="color:#f00">' . $0 . '</span>', $matches[4][0]);

?>

Als je wil dat het vervangen hoofdletter gevoelig is dat haal je het i tje weg in de regular expression.
Alvast bedankt voor je hulp, maar krijg nu een error:

Parse error: parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in /home/httpd/vhosts/hulpdienstenzhz.net/web_users/peterw/Test5e.php on line 171
Dat klopt idd, mijn fout.

<?php

$matches[4][0] = preg_replace('/woord/i', '<span style="color:#f00">$0</span>', $matches[4][0]);

?>
$matches[4][0] = preg_replace('/woord/i', '<span style="color:#f00">$0</span>', $matches[4][0]);
Zo moet ie het doen

Reageren