Autor Zpráva
Pavel015
Profil
Dobrý večer.

Nevíte, pomocí čeho a jak zhruba (nebo jak se tomu aspoň říká) se dá udělat to, že když se třeba ve článku na webu objeví @karel, tak to PHP skript nějak projde a přidá k tomu odkaz na uživatele Karel, který je uložený v DB?

Díky.
pcmanik
Profil
Pavel015:
Pomocou regulárneho výrazu nájdeš a nahradíš slová, ktoré začínajú @ za odkaz na užívateľa.

Niečo ako:
$outputString = preg_replace("/@(\w+)/", "<a href=\"/profil/$1\">$1</a>", $inputString);
juriad
Profil
Pokud je potřeba větší logika, která je naznačená funkcemi is_user a get_user_id:
preg_replace_callback('/@(\w+)/', function($matches) {
  $all = $matches[0]; $user = $matches[1];
  if (is_user($user)) {
    return '<a href="/user?id="' . get_user_id($user) . '">' . $all . '</a>';
  } else {
    return $all;
  }
}, $text);

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: