Autor | Zpráva | ||
---|---|---|---|
HajekJirka Profil |
#1 · Zasláno: 19. 5. 2007, 09:52:26
Dobré dopoledne,
na stránkách http://www.regularnivyrazy.info/prevedeni-url-na-odkaz.html je popsáno, jak převést URL na odkaz. Já se chci zeptat jestli to nejde obráceně. Převést odkaz na URL. Jako, že bych měl <a href="http://example.com/page1?id=13" title="example" target="_blank" a převedlo by mi to na http://example.com/page1?id=13. Zkoušel jsem různé možnostli, ale bezvýsledně. Myslel jsem, že to půjde nějak takto, ale bohužel:
Děkuji za jakoukoliv pomoc. |
||
djlj Profil |
#2 · Zasláno: 19. 5. 2007, 10:08:18 · Upravil/a: djlj
HajekJirka
Ten tvůj výraz se, nemýlím-li se, použije na část textu, která nezačíná http://, pokračuje některým z těchto znaků: a-zA-Z0-9.-, znovu některým těchto znaků: a-zA-Z0-9.- a nekončí na target=. Ty pravděpodobně potřebuješ něco takového: $text = preg_replace("/(?<!;)((http|https)://[[:alnum:]]+([-_.]?[[: alnum:]])*.[[:alpha:]]{2,4}(/{1}[-_~;:=\%?.+A-Za-z0-9]*)*)/U","<a href='\2'>\2</a>", $text); (Přidej si zpětná lomítka tam, kam patří.) |
||
HajekJirka Profil |
#3 · Zasláno: 19. 5. 2007, 12:25:22 · Upravil/a: HajekJirka
(Přidej si zpětná lomítka tam, kam patří.)
To ale není tak jednoduché. ;-) Přidal jsem je, ale vypisuje to: Warning: Delimiter must not be alphanumeric or backslash in ... Mám je přidané správně? /(?<!;)((http|https)://[[:alnum:]]+([-_.]?[[: alnum:]])*.[[:alpha:]]{2,4}(/{1}[-_~;:�=\%?.+A-Za-z0-9]*)*)/U","<a href='2'>2</a> jedno hned na začátku -------------------------------------------------jedno tady před /{1} a jedno před to zpětné lomítko. |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0