---
title: "FORM med \"-tecken"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/41416-form-med-tecken"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "nicclas"
published: "2002-04-11T19:58:16.000Z"
updated: "2002-04-12T11:17:11.000Z"
replies: 4
views: 227
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/41416-form-med-tecken"
---

# FORM med "-tecken

## #1 — nicclas, 2002-04-11T19:58Z

Jag har denna kod i min servlet:

```
String searchString = request.getParameter("searchString");
```

och

```
out.print("<form name=\"searchbox\" action=\"Search\" ");
out.println("method=POST>");
out.println("<input type=text size=40 name=\"searchString\" value=\""+searchString+"\">");
out.println("<input type=\"submit\" name=\"submit\" value=\"  Sök  \">");
out.println("</form>");
```

Skriver jag in en sträng tex: nicclas "test test" (inklusive "-tecknen) så blir det fel i den HTML-kod som genereras då det första "-tecknet kommer att avsluta min value-tagg. Lösningen borde vara att "escapa" tecknen (typ addslashes i PHP). Hur göra?

/nicclas

Permalänk: https://www.webforum.nu/p/41416

## #2 — AG, 2002-04-11T20:25Z

Det absolut lättaste borde vara att helt skippa "-tecknen i din html-kod. Men det är väl en smakfråga.
Medans ämnet sökmaskiner behandlas kanske det är något som råkar ha en överbliven sökmaskin som hanterar + - "" \* etc.

Andreas

Permalänk: https://www.webforum.nu/p/641680

## #3 — nicclas, 2002-04-11T20:31Z

Jo, jag kör <https://www.lucene.com> och den funkar kanon :)

Att bara skippa "-tecknen i HTML koden löser ju tyvärr inte mitt problem. På något vis måste jag ju hindra att folk matar in "egen HTML-kod" i min sökruta.

Permalänk: https://www.webforum.nu/p/641684

## #4 — SPiN, 2002-04-12T09:16Z

Du blir nog tvungen att ersätta förekomster av " med t.ex. &amp;quot; - eftersom att om du bara escape:ar så finns fortfarande \\" kvar, och ditt attribut-värde bryts ändå.

```
private String replace(String haystack, String from, String to) {
	if(haystack.indexOf(from) == -1)
		return haystack;

	StringBuffer stringBuffer = new StringBuffer();
	int start = haystack.indexOf(from);
	int copy = 0;

	while(start != -1) {
		stringBuffer.append(haystack.toCharArray(), copy, start - copy);
		stringBuffer.append(to);

		copy = start + from.length();
		start = haystack.indexOf(from, copy);
	}
	stringBuffer.append(haystack.toCharArray(), copy, haystack.toCharArray().length - copy);

	return stringBuffer.toString();
}
```

```
// För att escape:a:
String string = replace ( str, "\"", "\\\"" );
// För att replace:a
String string = replace ( str, "\"", "&amp;quot;" );
```

Permalänk: https://www.webforum.nu/p/641788

## #5 — nicclas, 2002-04-12T11:17Z

SPiN: Jag har kommit fram till samma sak som du angående escape:ningen, tack så mycket för kodexemplet :)

Permalänk: https://www.webforum.nu/p/641864

---

Tråden på webben: https://www.webforum.nu/amne/java/41416-form-med-tecken
