webForumDet fria alternativet
Logga in / Bli medlem

regexp och parenteser

PHP

2 svar · 522 visningar · startad av visslaren

Medlem sedan juli 20011 222 inlägg
Frågan#1

Hej,

Håller på med en liten funktion för att plocka ut bildadresser ur text och har stött på lite problem. Allt fungerar finfint, men så idag lade jag märke till att det blir problem om bildadressen innehåller parenteser

Här är koden jag använder för att plocka ut alla inför behandling och jag gissar att det är där det hela felar. Jag är inte så bra på det här med regexp och sånt och skulle därför behöva lite hjälp.

preg_match_all("'\[img\](.*?)\[/img\]'is", $str, $imgs, PREG_PATTERN_ORDER);

finns det parentes i adressen skrivs det bara ut utan att något görs, dvs

:)

Medlem sedan dec. 20025 483 inlägg
#2

Regexpen är det inget fel på - även adresser med parenteser skall tas med.

Vad fås med exempelvis

preg_match_all("'\[img\](.*?)\[/img\]'is", "[img]foo (bar).png[/img]", $imgs, PREG_PATTERN_ORDER);

?

Medlem sedan aug. 200311 inlägg
#3

preg_match_all("~\[img\](.+?)\[/img\]~is", $str, $imgs, PREG_PATTERN_ORDER);

Dock är det är ovan nämnda sätt ett väldigt dåligt sätt att göra sk. "bbCode", tyvärr.

269 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)