私のユーザーが自分のウェブサイトにメッセージを投稿できるようにしています。リンクを文字列に置き換える正しい方法
<a href="ss/explosion.wav">%explosion</a>
私はjQueryのを使用しています:爆発に変更します
<a href="ss/pop.wav">%pop</a>
%:私は、次のようなフォーマットされてしまうのリンクを持つ%ポップとして物事を交換できるようにしたいです誰が私がこれをどうやってやるのか知っていますか?
私のユーザーが自分のウェブサイトにメッセージを投稿できるようにしています。リンクを文字列に置き換える正しい方法
<a href="ss/explosion.wav">%explosion</a>
私はjQueryのを使用しています:爆発に変更します
<a href="ss/pop.wav">%pop</a>
%:私は、次のようなフォーマットされてしまうのリンクを持つ%ポップとして物事を交換できるようにしたいです誰が私がこれをどうやってやるのか知っていますか?
このコードはjQueryのを必要とするdoen't(私は簡潔のために、クラスを使用することをお勧めしたい):
"<のhref =" SS /ポップ:中
"The %pop is here".replace(/%(\w+)/g, '<a href="ss/$1.wav">%$1</a>')
結果。 WAV「>%ポップ</>ここで」
$("a").each(function() {
var href = $(this).val().split("%")[1];
if(href.length > 0) {
$(this).attr("href", "ss/"+href+".wav");
}
});
あなたは面倒および/または遅くなる可能性があり、ページ上のすべての要素を反復処理a
として、当然のことながら、あなたのHTMLのアーキテクチャと一致するセレクタを調整することをお勧めします。
は、括弧内の値を取得%をフィルタリングし、HREFを割り当てるために、すべてのインスタンスを介してループをタグにクラスまたはRELを割り当てます。
jQuery("div.message").each(function() {
jQuery(this).html(jQuery(this).text().replace(
/%(\w+)/g,"<a href='ss/$1.wav'>%$1</a>"
));
});
変更し、必要に応じて "div.message" セレクタ:jQueryののミックスと正規表現を使用して
$('a.get-path').each(function(){
// Cache the $(this) object
var $this = $(this);
// Strip out the % from the "file name" and create the path
var myPath = $this.html().replace(/%(.*)/, "ss/$1.wav");
$this.attr('href', myPath);
});
。 各div.messageに対して反復処理を行い、必要に応じて%fooの各出現箇所を置き換えます。
これはすべての試合を置き換えるために私を助けてくれました。ありがとうエコーファージ。 – Hugo
うわー、完璧に働いた。ありがとう! – FreeSnow