webForumDet fria alternativet

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

PHP

2 svar · 407 visningar · startad av bassebhu

Medlem sedan nov. 20016 480 inlägg
Frågan#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!

263 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)