webForumDet fria alternativet

Vilket uttryck skall jag använda för att ta bort [B]-taggar i en preview?

PHP

4 svar · 525 visningar · startad av lillebror

Medlem sedan apr. 20041 597 inlägg
Frågan#1

Hej,

Jag har en previewfunktion på förstasidan (https://www.flygfyren.nu) som visar 250 tecken av en artikel. Eftersom jag använder mig av BB-code i artikeln för att fetmarkera rubriker mm så kommer dessa taggar med i previewn.

Vilket preg_replace-uttryck skall jag använda mig av för att få bort dels [_B][_/B], dels [_/BR]?

/F

text.bmp
Medlem sedan mars 20034 471 inlägg
#2

Hm, är det inte enklare med str_replace? :q

$away = array("[_B]", "[_/B]", "[_/BR]", "[_b]", "[_/b]", "[_/br]");
$preview = str_replace($away, "", $str);
Medlem sedan apr. 20041 597 inlägg
#3

Förmodligen så är det som du säger. Jag har varit borta från kodandet för länge :)

Medlem sedan apr. 20041 597 inlägg
#4

Din kod tar mycket riktigt bort taggarna. Nu vill jag även att det som står mellan taggarna skall rensas bort. Hur gör jag då?!

Följande regexp-uttryck har jag sedan tidigare för att plocka bort [IMG_]3[/IMG_]-taggar där siffran hänvisar till en bild:

$article['content'] = preg_replace('/\[IMG\]\d+\[\/IMG\]/', '', $article['content']);
Medlem sedan dec. 20025 483 inlägg
#5
preg_replace('/\[(_(?:b|\/br?))\].*?\[\/\\1\]/i', '', $article['content']);
268 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)