Autor Zpráva
Public
Profil
Ako script upraviť aby vypísalo: <a href="/index.php?q=slovo3">slovo3</a> a aj oddelene/slovo3 ?
resp. ako upraviť preg ?
<?
echo Tag(Array("slovo3"), "slovo3 a aj oddelene/slovo3", function($v) { return "<a href=\"/index.php?q={$v}\">{$v}</a>"; });

function Tag($list, $line, $callback) {
     return preg_replace_callback("/(^|[^\\w\\-])(".implode("|", array_map("preg_quote", $list)).")($|[^\\w\\-])/mi", function($v) use ($callback) { return $v[1] . $callback($v[2]) . $v[3]; }, $line);
}
peta
Profil
cz.php.net/str_replace

$a = array(
  'slovo3',
  'slovo1'
  );
$b = array(
  '<a href="/index.php?q=slovo3">slovo3</a>',
  '<a href="/index.php?q=slovo1">slovo1</a>'
  );
$line = "slovo3 a aj oddelene/slovo3 a jeste slovo1";
$line = str_replace($a,$b,$line);
Public
Profil
Nie takto som to nemyslel, ja potrebujem upraviť preg_replace_callback() tak, aby mi neoznačilo slovo oddelene/slovo3.
Keeehi
Profil
Public:
Takže to má nahradit všechny řetězce, které jsou uvedené v tom poli, kromě těch, před kterými se vyskytuje řetězec "oddelene/"? Jestli tam nebude vždy řetězec oddelene/ a používáš to ze jako nějaký zástupný symbol, budeš muset dodat víc informací, co to vlastně zastupuje, co je ten oddělovač.

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:

0