Autor | Zpráva | ||
---|---|---|---|
user243 Profil |
#1 · Zasláno: 31. 7. 2014, 19:52:50
Ahoj,
mohl by mi někdo poradit, jak přepsat funkci preg_replace_callback() do javascriptu? Zkoušel jsem místo pole se shodami použít jednotlivé shody, také jen dolar s číslem, ale nic z toho nebylo. Nakonec jsem zkusil console.log() s nějakým textem zavolat v té nahrazovací funkci, ale v konzoli se nic nevypsalo.
Díky za pomoc. původní funkce v php: $zprava = preg_replace_callback("/\[url=(.+?)\](.+?)\[\/url]/s", function($matches) { return '<a href="'.$matches[1].'" target="_blank" title="' . (strlen($matches[2]) > 29 ? $matches[2] : '') . '">' . (strlen($matches[2]) > 29 ? substr($matches[2], 0, 26).'…' : $matches[2]) . '</a>'; }, $zprava); zprava = zprava.replace("/\[url=(.+?)\](.+?)\[\/url]/g", function(matches) { console.log("dfgdfg"); return '<a href="'+ matches[1] + '" target="_blank" title="' + (matches[2].length > 29 ? matches[2] : '') + '">' + (matches[2].length > 29 ? matches[2].substr(0, 26) + '…' : matches[2]) + '</a>'; }); |
||
Tori Profil |
#2 · Zasláno: 31. 7. 2014, 20:16:09
user243:
Zřejmě špatné parametry u callback funkce, nedostává pole jako v PHP: manuál |
||
_es Profil |
#3 · Zasláno: 1. 8. 2014, 00:00:11
user243:
Okrem toho, regulárne výrazy sa v JS píšu bez úvodzoviek a začínajú lomítkom, teda zprava = zprava.replace(/\[url=(.+?)\](.+?)\[\/url]/g,... |
||
user243 Profil |
#4 · Zasláno: 1. 8. 2014, 15:34:04
Do toho manuálu jsem se včera dlouho díval, ale pořád mi to nešlo. Ráno jsem si všiml, že se tam právě nepoužívají ty uvozovky. Takže po menší úpravě všechno šlape jak má.
Díky za pomoc. |
||
Časová prodleva: 10 let
|
0