webForumDet fria alternativet

RegExp: Plocka ut data mellan taggar

PHPur PHP

2 svar · 249 visningar · startad av Peeer

PeeerMedlem sedan mars 20025 907 inlägg
#1

Har en text som ser ut ungefär som nedan

massa text
<!--pos NyhetsLista-->
mer text
möe text
<!--/pos NyhetsLista-->
lite till text

Och vill ha ut texten mellan taggarna. Dvs.
mer text
möe text.

preg_match('/<!--pos\sNyhetsLista-->(.*?)<!--\/pos\sNyhetsLista-->(.|$)/is',$str,$temp);

Får inte ut någonting. Mönster är inte min starka sida :)

rakiMedlem sedan jan. 2003137 inlägg
#2

För mig funkar det.

Prova detta:

<?php
$str = "massa text 
<!--pos NyhetsLista--> 
mer text 
möe text 
<!--/pos NyhetsLista--> 
lite till text";

preg_match('/<!--pos\sNyhetsLista-->(.*?)<!--\/pos\sNyhetsLista-->(.|$)/is',$str,$temp);

print $temp[0];
?>
PeeerMedlem sedan mars 20025 907 inlägg
#3

Hehe, upps. Det visade sig att det inte var fel på den koden. Texten som skulle läsas igenom hämtar jag in med fopen(), men jag hade tydligen inte hämtat in all text, så "<!--/pos NyhetsLista-->" dök aldrig upp i den inhämtade strängen. Inte undra på att den inte hittar något då :e

Tack för hjälpen ändå! :)

125 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)