webForumDet fria alternativet
Logga in / Bli medlem

Regexp + youtube

PHP

5 svar · 474 visningar · startad av tronez

Medlem sedan juli 2001728 inlägg
Frågan#1

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?

Medlem sedan aug. 20039 340 inlägg
#2

Lägg till flaggan g efter ims.

Medlem sedan juli 2001728 inlägg
#3

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

Medlem sedan feb. 2004489 inlägg
#4

"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

Medlem sedan juli 2001728 inlägg
#5

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

Medlem sedan juli 2001728 inlägg
#6
"/\[[^\s'\"<>]*v=([^\s'\"<>]+)\]/ims"

Denna funkar som jag vill!

272 ms totalt · 4 externa anrop · v20260731065814-full.0583408b
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)