---
title: "Regexp + youtube"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/173623-regexp-youtube"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "tronez"
published: "2008-08-25T11:40:05.000Z"
updated: "2008-08-25T14:27:39.000Z"
replies: 5
views: 474
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/php/173623-regexp-youtube"
---

# Regexp + youtube

## #1 — tronez, 2008-08-25T11:40Z

Har ett litet problem med ett regexp

```
/\[[^\s'\"<>]*youtube.com.*v=([^\s'\"<>]+)\]/ims
```

 

Denna kod använder jag för att plocka ut youtube urler och köra in dom i en embed på en sida, problemet är att den bara plockar ut den sista träffen i texten

```
$text = "text etxtew [http://www.youtube.com/watch?v=p9Zt8mn14hY&NR] mer text textext [http://www.youtube.com/watch?v=p9Zt8mn14hY&NR]";

$text = preg_replace("/\[[^\s'\"<>]*youtube.com.*v=([^\s'\"<>]+)\]/ims", "<object width=\"".$mainwidth."\" height=\"".$mainheight."\"><param name=\"movie\" value=\"http://www.youtube.com/v/\\1&ap=%2526fmt%3D18&hl=en&fs=1&rel=0&border=0 \"></param><embed src=\"http://www.youtube.com/v/\\1&ap=%2526fmt%3D18&hl=en&fs=1&rel=0&border=0 \" type=\"application/x-shockwave-flash\" width=\"".$mainwidth."\" height=\"".$mainheight."\"></embed></object>", $text);
```

Dvs det jag vill få till är att alla träffar ska göras om, men får inte regexpn att funka som den ska.

Någon som ser nåt uppenbart fel?

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

## #2 — nitro2k01, 2008-08-25T11:44Z

Lägg till flaggan g efter ims.

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

## #3 — tronez, 2008-08-25T12:15Z

Hur menar du? Sökt lite efter regexp och flaggor, men inte hittat något som verkar funka

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

## #4 — Syd, 2008-08-25T12:21Z

"ims" i i slutet på din sträng är flaggor. I är ignoreCase, M är multiline, S är dotall. G, som du ska lägga till, står för global. 

```
/\[[^\s'\"<>]*youtube.com.*v=([^\s'\"<>]+)\]/imsg
```

**Red:** I brist på bättre länk: <http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=12_Using_Regular_Expressions_168_10.html>

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

## #5 — tronez, 2008-08-25T12:26Z

Har provat det, men fick inte ut nåt alls på det viset, sidan blir bara tom, tar jag däremot bort 'g' så får jag iaf ut nåt på skärmen

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

## #6 — tronez, 2008-08-25T14:27Z

```
"/\[[^\s'\"<>]*v=([^\s'\"<>]+)\]/ims"
```

 

Denna funkar som jag vill!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/173623-regexp-youtube
