2016-10-21 7 views
0

javascriptで正規表現を作成してhrefリンクから空白を削除し、空白をハイフンに置き換えるのに役立つものがありますか?例えばhrefリンクから空白を削除するRegex

<a class="card" href=http://www.eee.com/sffsd/sdfs/Aks's Reb outsider/4234234234324> 

それは私がコメントで言ったように、ダッシュとスペースを交換してと同じくらい簡単にする必要があり、

<a class="card" href=http://www.eee.com/sffsd/sdfs/Aks's-Reb-outsider/4234234234324> 
+1

何を試しましたか? 'link.href = link.href.replace(//g、 ' - ')'で十分でしょうか? –

+2

あなたはjsでそれをしたいが、phpとしてタグ付けされている。どうして?これは、Googleが「空白を取り除く」ことが難しいはずはありません。あなたは私たちにあなたの努力を表明しませんでした。 –

+0

@NewbeeDev 'trim'はこの問題を解決しません。 'trim'は、末尾の文字と先頭の文字のみを削除します。 – vaso123

答えて

1

に物事のカップルを、それを変換する必要があります。

link.href = link.href.replace(/ /g, '-'); 
//or in php: 
$href = preg_replace('/ /', '-', $href); 

(JSのみ):gフラグを使用すると、文字列全体がスペースを検索されるようになりますそれらをすべてダッシュで置き換えます。

質問すると良い質問は次のとおりです。最初にスペースがあったのですか?

私が最初に呼び出したのは、マークアップを生成するコードを見て、そこで問題を修正することでした。壊れているコードの出力を修正するコードを書くべきではありません。バグを修正し、対応しないでください。

URLの適切正規表現を使用して日焼けではなく、エスケープする必要がありますおそらく、URIは %20などへのすべてのスペースを変換する encodeURIのような関数を通過してきたはずです

...

+0

おそらく、SEOフレンドリーなURLを動的に生成しようとしています。 –

0

使用この正規表現形式

link.href = link.href.replace(/\s/g, '-'); 
+0

'\ s'はスペースだけでなく、[unicode space character](http://www.fileformat.info/info/unicode/category/Zs/list.htm)と一致します。とにかく '/ /'を書くのはもっと短くなります –

関連する問題