---
title: "Javascript preg_match"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/178090-javascript-preg-match"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "learn"
published: "2009-04-17T13:33:38.000Z"
updated: "2009-04-17T16:43:34.000Z"
replies: 8
views: 586
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/javascript/178090-javascript-preg-match"
---

# Javascript preg_match

## #1 — learn, 2009-04-17T13:33Z

Jag försöker omvandla PHPs preg_match till javascript. Hittade funktionen match() men förstår inte riktigt hur den fungerar.

Det jag vill åstadkomma är följande:

Jag har en sträng:

```
str = '
<p>Hejsan</p>

<script type="text/javascript">
alert("test");
</script>

<p>Hejdå</p>
';
```

och vill nu hämta allt inom script-taggarna och spara i variabeln mittScript:

```
mittScript = 'alert("test")';
```

Hur kan jag göra?

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

## #2 — voigtann1, 2009-04-17T13:51Z

```
	var myregexp = /<script[\s\S]*>([\w\W]+)<\/script>/img;
	var match = myregexp.exec(subject);
	while (match != null) {
		//match[1]; get the text between script-tags
		match = myregexp.exec(subject);
	}
```

match\[1\]ge dig alert("test") i ditt exempel (även om det inte gå att ha en javascripts sträng på det sätt du försöker rendera ut den på.

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

## #3 — learn, 2009-04-17T13:55Z

Tack för ditt exempel!

> **voigtann1 skrev:**
>
> även om det inte gå att ha en javascripts sträng på det sätt du försöker rendera ut den på.

Hur menar du nu?

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

## #4 — voigtann1, 2009-04-17T13:59Z

```
var str = 'hej
på
dig';
```

fungera inte i javascript, om det är radbrytningar så är det \\n som gäller ;)

```
var str = 'hej\npå\ndig';
```

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

## #5 — learn, 2009-04-17T13:59Z

> **[voigtann1 skrev:](https://www.webforum.nu/p/1464736)**
>
> ```
> var str = 'hej
> på
> dig';
> ```
>
>
>
> fungera inte i javascript, om det är radbrytningar så är det \\n som gäller ;)

Aha, ja jo  :)

Jag tänkte sedan köra javascripts eval() på den hämtade koden. Några invändningar, något som jag ska tänka på?

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

## #6 — voigtann1, 2009-04-17T14:03Z

varför inte bara rendera ut koden som den är, vet inte var du får koden ifrån men hade lika väl kunnat placera

```
<p>Hejsan</p>

<script type="text/javascript">
alert("test");
</script>

<p>Hejdå</p>
```

direkt in på sidan, eller bara i ditt fall med php ta bort allt som inte är \<script\>.....\</script\> med RegExp på server side, men visst eval fungera väl

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

## #7 — learn, 2009-04-17T16:13Z

```
	var myregexp = /<script[\s\S]*>([\w\W]+)<\/script>/img;
	var match = myregexp.exec(subject);
	while (match != null) {
		//match[1]; get the text between script-tags
		match = myregexp.exec(subject);
	}
```

Hmm, den verkar stanna på första förekomsten. Jag vill att den hittar alla script-taggar. Strängen kan se ut så här:

```
str = '<p>Hejsan</p><script type="text/javascript">alert("test");</script><p>Hejdå</p><script type="text/javascript">alert("test2");</script>';
```

**R: Nej föresten, det är bara den sista förekomsten som hittas, och jag tror jag kanske hittat felet. Min andra script-tagg innehåller måsvingar och lite andra tecken som inte hittas i ovanstående match(). Kan det stämma?**

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

## #8 — voigtann1, 2009-04-17T16:29Z

```
var subject = '<p>Hejsan</p><script type="text/javascript">alert("test1");</script><p>Hejdå</p><script type="text/javascript">alert("test2");</script>';
	var myregexp = /<script[\s\S]*?>([\w\W]*?)<\/script>/img;
	var match = myregexp.exec(subject);
	while (match != null) {
		//match[1]; get the text between script-tags
alert(match[1]);
		match = myregexp.exec(subject);
	}
```

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

## #9 — learn, 2009-04-17T16:43Z

> **[voigtann1 skrev:](https://www.webforum.nu/p/1464758)**
>
> ```
> var subject = '<p>Hejsan</p><script type="text/javascript">alert("test1");</script><p>Hejdå</p><script type="text/javascript">alert("test2");</script>';
> 	var myregexp = /<script[\s\S]*?>([\w\W]*?)<\/script>/img;
> 	var match = myregexp.exec(subject);
> 	while (match != null) {
> 		//match[1]; get the text between script-tags
> alert(match[1]);
> 		match = myregexp.exec(subject);
> 	}
> ```

Nja, nu alert'ar den alla matchningar två gånger om

**R: My bad, det tycks fungera galant. Tack så mycket!  :)**

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/178090-javascript-preg-match
