Kompletter String mit preg_match
Ich habe ein Problem mit der preg_match Funktion. Und zwar habe ich eine Datenbank, in der Abkürzungen und die dazugehörigen Beschreibungen gepseichert sind.
Wenn jetzt in meinem Forum jemand einen Post macht, soll überprüft werden ob die Abkürzung in dem Text uns soll durch ein Acronym-Tag ersetzt werden. Das funktioniert auch soweit, nur kann es ja vorkommen, das es mehrere Abkürzungen gibt die fast gleich sind, a er andere Beschreibungen haben.
Das wäre z.B. bei mir der Fall bei
ESD, eSD und SD !
Jetzt habe ich das Probiert, dier ersetzungen macht er immer, also wenn z.B. eSD vorkommt, ersetzt er erst das eSD danch aber nochmal das SD, das soll nicht sein !
Wie kann ich das bei der Funktion ändern ?
Es soll also immer das komplette Wort verglichen werden, inklusiver der Rechtschreibung groß klein !
Ich habe ein Problem mit der preg_match Funktion. Und zwar habe ich eine Datenbank, in der Abkürzungen und die dazugehörigen Beschreibungen gepseichert sind.
Wenn jetzt in meinem Forum jemand einen Post macht, soll überprüft werden ob die Abkürzung in dem Text uns soll durch ein Acronym-Tag ersetzt werden. Das funktioniert auch soweit, nur kann es ja vorkommen, das es mehrere Abkürzungen gibt die fast gleich sind, a er andere Beschreibungen haben.
Das wäre z.B. bei mir der Fall bei
ESD, eSD und SD !
Jetzt habe ich das Probiert, dier ersetzungen macht er immer, also wenn z.B. eSD vorkommt, ersetzt er erst das eSD danch aber nochmal das SD, das soll nicht sein !
Wie kann ich das bei der Funktion ändern ?
Code:
function check_synonyms($text)
{
global $pref;
$r_synonym = thwb_query("SELECT syn, syn_description FROM $pref"."synonyms ORDER BY syn ASC");
if( mysql_num_rows($r_synonym) != 0 )
{
while( $synonym = mysql_fetch_array($r_synonym) )
{
//if ( strstr($text, $synonym[syn] ) )
if (preg_match("/$synonym[syn]/",$text))
{
$desc = "[acronym=\"".$synonym[syn]."\"]".$synonym[syn_description]."[/acronym]";
$text = str_replace($synonym[syn], $desc, $text);
}
}
}
return $text;
}
Es soll also immer das komplette Wort verglichen werden, inklusiver der Rechtschreibung groß klein !
Zuletzt bearbeitet: