Autor | Zpráva | ||
---|---|---|---|
had Profil * |
#1 · Zasláno: 19. 7. 2011, 19:55:46
Ahoj,
prosím vás - používám ajaxový $.post() dotaz, funkce mi vrátí dotaz z databáze, výsledek projevím do divu .html()...vše ok. Ale...potřeboval bych ještě provést analýzu textu, jestli neobsahuje odkaz, případně ten odkaz v html z toho textu udělat... hledal jsem jak to udělat (nejlíp pomocí jquery nebo javascriptu - PHP tam bohužel použít nemůžu, když je to ajax)... nemáte někdo, prosím, buď v jquery nebo v javascriptu napsanou funkci pro převod textu na odkaz? (něco jako je tady: http://diskuse.jakpsatweb.cz/?action=vthread&forum=9&topic=88850) Díky moc předem. |
||
Dero Profil |
#2 · Zasláno: 19. 7. 2011, 20:04:37
Pokud máte výsledek volání např. v proměnné text, tak pomocí regulárních výrazů můžete detekovat URL a převést je na odkazy. Např. takto:
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; // regulární výraz text_s_odkazy = text.replace(exp,"<a href='$1'>$1</a>"); Názory na optimální regulární výraz pro detekci URL se různí, tento nezachytí některé krajní případy. Můžete případně pohledat lepší v některé z knihoven regulárních výrazů, které na internetu jsou, inspirovat se můžete např. zde: http://regexlib.com/Search.aspx?k=URL |
||
had Profil * |
#3 · Zasláno: 19. 7. 2011, 20:08:35
díky, spokojím se s vaším, určitě bude postačovat :-)
|
||
had Profil * |
#4 · Zasláno: 19. 7. 2011, 20:23:49
hm... nejde mi to rozjet...čím to může být prosím?
$.post("./ZiskatKonverzaci.php", {id:id}, function(data){ var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; // regulární výraz data = text.replace(exp, "<a href=\'$1\'>$1</a>"); $("#obsah-konverzace").html(data); }, "html"); |
||
Dero Profil |
#5 · Zasláno: 19. 7. 2011, 20:26:18
To protože řetězec, ve kterém chcete nahrazovat, máte v proměnné data.
Zkuste: $.post("./ZiskatKonverzaci.php", {id:id}, function(data) { var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; // regulární výraz data = data.replace(exp, "<a href=\'$1\'>$1</a>"); $("#obsah-konverzace").html(data); }, "html"); |
||
had Profil * |
#6 · Zasláno: 19. 7. 2011, 20:33:59
jo jasně... já jsem blbej.. :-) já myslel, že text.replace je název funkce :-) Díky moc, už to funguje, jak má :-)
|
||
Dero Profil |
#7 · Zasláno: 19. 7. 2011, 20:37:05
Hlavně, že jsme se dobrali výsledku. :)
Pěkný večer. |
||
Časová prodleva: 13 let
|
0