2011-09-19 5 views
1

J'essaye d'écrire une regex qui trouve l'espace entre "Red" et "Blend" dans le texte du lien.Regex pour trouver des espaces dans le texte d'un lien

<a title="Show products matching tag Red Blend" href="/collections/50-to-100/red-blend">Red Blend</a> 

Le regex aura aussi besoin d'être en mesure de trouver à la fois des espaces dans le bloc de code suivant:

<a title="Show products matching tag Russian River Valley" href="/collections/50-to-100/russian-river-valley">Russian River Valley</a> 

Dans les deux cas, je vais être remplacer l'espace avec un non casser le caractère de l'espace, mais cela sera géré par mon script côté serveur.

Merci d'avance pour l'aide.

+0

Vous voulez capturer tous les espaces blancs à l'intérieur de la 'title' attribut, après' Afficher les produits correspondant 'tag? – cheeken

+4

Dans quel environnement travaillez-vous? Vous ne devriez pas utiliser regex pour cela, et les chances sont que vous n'avez pas à le faire. – Tomalak

+5

TO͇̹̺Ɲ̴ȳ̳ TH̘Ë͖̉ ͠P̯͍̭O̚ N̐Y̡ H̸̡̪̯ͨ͊̽̅̾Ȩ̬̩̾͛ͪ̈͘ ̶̧̨̹̭̯ͧ̾ͬC̷̙̝͖ͭ̏ͥͮ͟Oͮ͏̮̪̝͍M̖͊̒ͪͩͬ̚̚͜Ȇ̴̟̟͙̞ͩ͌͝S̨̥̫͎̭ͯ̿̔ –

Répondre

2

Vous ne savez pas quelle langue vous utilisez, mais si vous souhaitez utiliser un peu javascript/jQuery, vous pouvez le faire;

var a = $('a').text(); 
var b = a.replace(/\s/g, '&nbsp;'); 
$('a').html(b); 

Ceci suppose (d'après votre question) que l'espace que vous voulez remplacer se trouve dans le texte du lien.

Exemple:http://jsfiddle.net/jasongennaro/ejJYF/1/

+3

Si vous utilisez jQuery, utilisez au moins * right *: '$ ('a'). Text (fonction (i, t) {return t.replace (/ \ s/g, String.fromCharCode (160)); }); ' – Tomalak

+0

Bien écrit @Tomalak. J'ai appris quelque chose de nouveau –

+1

@Tomalak Bon travail et merci beaucoup! Voici mon test de la fonction jQuery de Tomalak avec un plus grand ensemble de données d'exemple: http://jsfiddle.net/ejJYF/2/ Cela devrait prendre soin de mon problème – TrentonMcManus

Questions connexes