J'essaie de créer un bookmarklet qui me permettra de manipuler certaines URL afin de basculer rapidement entre les vues d'édition de contenu et la production dans un nouveau CMS.Comment remplacer une chaîne entre deux et supprimer les 5 derniers caractères avec regex
Actuellement, je peux remplacer la chaîne de mendicité de l'URL par la version CMS, ce qui est génial. Cependant, je dois aussi pouvoir enlever le ".html" à la fin de la chaîne, qui est ce que je suis aux prises avec.
ce que je viens
Voici mon bookmarklet actuel:
<a href="javascript:(function(){window.location=window.location.toString
().replace(/^http(.*)\/en\//,'https://cms.ca/en_lg/').replace(/^https:(.*)
\/fr\//,'https://cms.ca/fr_lg/');})();">Switch - CMS</a>
Avec le bookmarklet ci-dessus, je peux faire ce qui suit (j'ai enlevé le « h » à l'avant, car ils « re pas de liens réels).
CHANGEMENT CE:
- ttp: //www.webby.yay.com/en_lg/folder/anotherfolder/anotherfolder/page.html
À CE:
- TTPs: //cms.ca/en_lg/folder /anotherfolder/anotherfolder/page.html
QU'EST-CE QUE JE VEUX FAIRE
CHANGEMENT CE:
- ttp: //www.webby.yay.com/en_lg/folder/anotherfolder/anotherfolder/page.html »
À CE:
- TTPs: //cms.ca/en_lg/dossier/anotherfolder/anotherfolder/Page
Notez que le .html à la fin de la chaîne a été supprimée. Est-ce possible avec une méthode de remplacement?
Si oui, pourrais-je aussi combiner le fait que je vérifie pour/fr_lg/ou/fr_lg/dans une expression?
Toute aide serait grandement appréciée!
Merci beaucoup pour votre suggestion. J'aurais dû être plus clair, mais la chaîne que j'essaie de remplacer peut varier d'une variété de choses. Par exemple, je pourrais obtenir une URL comme ttp: //www.webby.yay.com/en_lg/folder/anotherfolder/anotherfolder/page.html ou ttp: //whatisthis.com/fr_lg/folder/example/anotherfolder/ test.html ou ttp: //www.iamnotasite.hi.coolstuffbro.com/fr_lg/cool/cool.html. Je veux fondamentalement remplacer tout entre http jusqu'à fr_lg ou en_lg et puis enlever le html à la fin. – Oaryx
Que diriez-vous de '.replace (/^(. *) \/(En_lg | fr_lg) \/(. *) \ .html $ /, 'https: //cms.ca/$2/$3')'? – unilynx