И опять о "string". Как изменить строку согласно параметров...
Есть строка: (будет разделена <BR>-ами в HTML, тут многострочная для наглядности):
" [b][url=http://server1.com/file.txt.html]Скачать фaйл с сервера 1[/url][/b] [b][url=http://server1.com/file2.txt.html]Скачать фaйл 2 с сервера 1[/url][/b] [b][url=http://server3.com/file2.txt.html]Скачать фaйл 2 [url] [/url ]с сервера 2[/url][/b] " 1. Нужно заменить все теги "url" на теги "leech", но только в правильных местах. (обратите внимание на 3-ю ссылку). 2. Нужно вставить ко всем ссылкам "server1.com" слово "_myserver.net". Чтобы ссылки после этого выглядели так например: Была такой http://server1.com/file.txt.html Стала такой http://server1.com/file.txt_myserver.net.html Помогите новичку плиз Заменять URL на LEECH пытался вот этим , но это же не во всех случаях сработает :blink: urllinks.replace(new RegExp("url",'g'),"leech") |
urllinks.replace(/(\[(:?\/)?)url([\]=])/ig, '$1leech$3').replace(/(http:\/\/server1\.com)([^\]]+)(\.html\])/ig, '$1$2_myserver.net$3'); |
Спасибо за помощь...
Но я тут внесу маленькую поправку, "_myserver.net" нужно ставить вот так: http://server1.com/file_myserver.net.txt.html , тоесть перед "html" и любым расширением файла.. (txt, js, info, wav... неважно) Прошу извинить за неточность |
Хм... Засел в Expresso и додул сам вроде
Нужно изменить \.html\]на \.[^\.]*\.html] Правильно, поправьте пожалуйста ? |
и вообще в первом варианте я допустил ошибку, тоесть первый вариант может работать не совсем корректно вот новый:
urllinks.replace(/(\[(?:\/)?)url([\]=])/ig, '$1leech$2').replace(/(http:\/\/server1\.com)([^\]\.]+)((?:[^\s]+)?\.html\])/ig, '$1$2_myserver.net$3'); |
Ясно. С меня + снова...
А объясните пожалуйста в чем ошибка была, чтоб я тоже знал на будущее, а то щас вникаю в это все... |
urllinks.replace(/(\[(?:\/)?)url([\]=])/ig, '$1leech$2')
я попутал вместо "незапоминающей скобки" сделал обратное перепутав местами знак : и ? тоесть эта ошибка могла привести к тому что заменялось бы даже то что выглядит например вот так: [:/url]а это не приемлемо, а если хошь понять регулярку вот чтиво |
Часовой пояс GMT +3, время: 19:38. |