eregi_replace, regular expressions - HELP!
Hallo,
Ik heb een scriptje die bepaalde woorden in een html pagina vervang door een acronym tag, zodat er bij die woorden een uitleg kan worden gegeven.
De woorden en de beschrijving worden uit een database geladen.
Het probleem is dat ook te html-tags vervangen worden. Als het b.v. het woord "border" in de html-code staat, dan zal die ook de html-border-tag gaan vervangen door
"<acronym title="">border</acronym>"
Dat is natuurlijk niet de bedoeling, weet iemand hier een oplossing voor? bijvoorbeeld dat hij stopt met vervangen als hij een "<"teken tegenkomt en weer begint bij een ">" teken?
Hier volgt het script
Ik heb een scriptje die bepaalde woorden in een html pagina vervang door een acronym tag, zodat er bij die woorden een uitleg kan worden gegeven.
De woorden en de beschrijving worden uit een database geladen.
Het probleem is dat ook te html-tags vervangen worden. Als het b.v. het woord "border" in de html-code staat, dan zal die ook de html-border-tag gaan vervangen door
"<acronym title="">border</acronym>"
Dat is natuurlijk niet de bedoeling, weet iemand hier een oplossing voor? bijvoorbeeld dat hij stopt met vervangen als hij een "<"teken tegenkomt en weer begint bij een ">" teken?
Hier volgt het script
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
$afkortingsql = "SELECT * FROM afkortingen";
$afkortingresult = mysql_query($afkortingsql) or die(mysql_error());
while($afkortingrecord = mysql_fetch_array($afkortingresult)){
$data['main'] = eregi_replace(" ".$afkortingrecord["afkorting"]." ","<acronym title=\"".$afkortingrecord["uitleg"]."\"> ".$afkortingrecord["afkorting"]."</acronym> ",$data['main']);
$data['main'] = eregi_replace(" ".$afkortingrecord["afkorting"]."\.","<acronym title=\"".$afkortingrecord["uitleg"]."\"> ".$afkortingrecord["afkorting"]."</acronym>.",$data['main']);
$data['main'] = eregi_replace(" ".$afkortingrecord["afkorting"].",","<acronym title=\"".$afkortingrecord["uitleg"]."\"> ".$afkortingrecord["afkorting"]."</acronym>,",$data['main']);
}
?>
$afkortingsql = "SELECT * FROM afkortingen";
$afkortingresult = mysql_query($afkortingsql) or die(mysql_error());
while($afkortingrecord = mysql_fetch_array($afkortingresult)){
$data['main'] = eregi_replace(" ".$afkortingrecord["afkorting"]." ","<acronym title=\"".$afkortingrecord["uitleg"]."\"> ".$afkortingrecord["afkorting"]."</acronym> ",$data['main']);
$data['main'] = eregi_replace(" ".$afkortingrecord["afkorting"]."\.","<acronym title=\"".$afkortingrecord["uitleg"]."\"> ".$afkortingrecord["afkorting"]."</acronym>.",$data['main']);
$data['main'] = eregi_replace(" ".$afkortingrecord["afkorting"].",","<acronym title=\"".$afkortingrecord["uitleg"]."\"> ".$afkortingrecord["afkorting"]."</acronym>,",$data['main']);
}
?>
Er zijn nog geen reacties op dit bericht.