2008-11-12 7 views
0

J'ai besoin de vos conseils pour convertir du texte brut en URL. Le scénario sera le suivant: L'utilisateur sélectionnera une entrée, puis cliquera sur un bouton "convertir en lien".Conversion de texte brut en lien cliquable ou Lien vers PlainText dans asp.net

Le texte d'entrée sélectionné par l'utilisateur sera converti en (link: selected_text). Je le fais avec JavaScript. Et après cela, quand il clique sur le bouton Enregistrer pour enregistrer toutes ses entrées, je ne sais pas comment stocker (link: selected_text) dans la base de données tha.

L'URL sera comme ceci: www.mysite.aspx?t=selected_text.

Je peux convertir (link: selected_text) en utilisant la fonction de remplacement dans le code-behind. Mais alors je ne sais pas comment montrer l'utilisateur comme cliquable et aussi en ne montrant pas <a href="www.mysite.aspx?t=selected_text">

Il peut être difficile à comprendre donc je vais montrer certains de mes codes pour expliquer.

Private Sub Save(ByVal Entry As String) ' Entry Comes from entry textbox ' 

    Dim elected As String 
    selected = Entry.Replace("(link: ", "<a href http://www.mysite.com?link=") 
    selected = Entry.Replace(")", ">") 

    ' then here starts save but not necessary to show ' 

End Sub 

Répondre

0

Pour stocker dans la base de données, vous devrez suivre les modifications séparément et les renvoyer au serveur. Je suggérerais un contrôle HiddenInput.

0

Ne l'enregistrez pas comme www.mysite.com?t=here. Sauvegardez simplement l'entrée lorsque l'utilisateur la tape. Tout en le montrant à l'utilisateur plus tard, convertissez le "(lien: ici)" pour lier et montrer cela.

1

Si vous devez enregistrer l'entrée traitée pour une raison quelconque

(link: here) 

doit être converti en

(link: <a href="http://www.mysite.com?t=here">here</a>) 
0

Enregistrez le poste de l'utilisateur écrit. Cela rendra plus facile d'autoriser l'édition du post plus tard. Lorsque vous affichez le message, vous devez utiliser une expression régulière pour le remplacer par un lien réel. Vous ne devriez jamais remplacer tout ")" par ">". Que se passe-t-il si j'écris "bonjour (monde)"?

Le résultat: Bonjour (monde>

Vous pouvez trouver des expressions régulières ici: http://regexlib.com