2017-01-04 4 views
0

Wegen irgendeinen armen vorwärts denken, wenn meiner Suche Datenbank bauen, ich bin im Format mit einigen Links links: (Google Homepage)[http://google.com]RegEx konvertieren formatierte Link in HTML <a> Tag

Ich habe mit regex zu verwirren versucht, in Javascript, um das obige Format in einen normalen HTML-Link im Format <a href="http://google.com">Google Homepage</a> zu konvertieren.

Ich war in der Lage, die Klammern und Klammern über Regex zu wählen, aber habe Probleme beim Regex, um die Klammern und Klammern mit HTML zu ersetzen, wie geeignet. Vielen Dank!

+2

den Code anzeigen Sie bereits haben! – nicovank

Antwort

3

Das wird ziemlich einfach sein. Mache einfach zwei Capture-Gruppen. Eine Erfassungsgruppe hat den Text innerhalb der Klammer und der andere hat die URL innerhalb der eckigen Klammern.

\((.*?)\)\[(.*?)\] 
    #1  #2 

Dann können Sie einfach jeden aufgenommenen Teil in Ihr Tag bleiben, wie folgt aus:

<a href="\2">\1</a> 

Here is a demo

0

man bedenkt, dass () und [] die Grenzen definieren, Sie können versuchen

\(([^\)]+)\).*\[([^\]]+)\] 

\ 1 wird der Text sein und \ 2 wird Link

1

Dies funktioniert für mich

var str1="(Google Homepage)[http://google.com]"; 
 
    
 
var pattern=/\((.*)\)\[(.*)\]/; 
 

 
var str2=str1.replace(pattern,"<a href=\"$2\">$1</a>"); 
 

 
console.log(str2);