Filtrera ut det som ligger i en egengjord tagg? (RegExp)

PHP

2 svar · 410 visningar · startad av bassebhu

Medlem sedan nov. 20016 480 inlägg
Trådstart#1

Hej alla glada!

Jag låter användaren spara info till ett databasfält. Jag vill sedan hämta ut hela det fältet och köra det genom ett filter. Jag vill att den ska leta efter allt som ligger inom [media:xxx] och ut ska komma bara xxx

T.ex. om ett databasfält innehåller:
"Hej! Lyssna här: [media:fil.mp3]"

Så ska det enda som blir kvar vara "fil.mp3". Allt utanför [] ska bort plus "[media:" och "]" alltså. Om man har flera [media:]-block så ska den helst bara skriva ut första träffen, men det är inte jätteviktigt om det gör det hela svårare.

Förslag? Tack!

Medlem sedan juni 20014 290 inlägg
#2

Något så här kanske:

<?php

$data="Hej! Lyssna har [media:fil.mp3]";
$pattern="/\[media:(.+?)\]/";

preg_match($pattern, $data, $matches);

print_r($matches);

?>

Vilket skriver ut:

Array
(
    [0] => [media:fil.mp3]
    [1] => fil.mp3
)

Den skriver bara ut första träffen den hittar.

Medlem sedan nov. 20016 480 inlägg
#3

Yeah, funkade kalas! Tack!

259 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)