2012-06-29 3 views
1

я нашел хороший кусок кода, чтобы добавить некоторые «нормальные» текстовые ссылки (т.е. вместо кнопки), чтобы разделить страницу на сайтах социальных медиа:Javascript заменить все экземпляры

<a href="https://twitter.com/share?url=[url]"onclick="this.href = this.href.replace('[url]',window.location)" target="_blank" title="Share on Twitter">Twitter</a> 

Который прекрасно работает. Но для Pinterest мне нужно URL размещаемого в два раза, для ссылки на странице и для стержневого изображения:

<a href="http://pinterest.com/pin/create/button/?url=[url]&media=[url]pin.jpg" onclick="this.href = this.href.replace('[url]',window.location)" target="_blank">Pinterest</a> 

В этом случае только первый URL будет добавлен.

Не так жарко на javascript. Должен быть простой способ заменить все экземпляры [url], правильно?

ответ

3

Использование регулярных выражений с g (глобального) модификатора

this.href.replace(/\[url\]/g, window.location) 
+0

Не выглядит красиво, но работает как лечить. Благодаря! –

2

Используйте глобальное регулярное выражение, чтобы соответствовать их всех:

this.href = this.href.replace(/\[url\]/g, window.location) 
Смежные вопросы