webForumDet fria alternativet

Reqular expression?

2 svar · 467 visningar · startad av drew

drewMedlem sedan mars 2007845 inlägg
#1

Jag har detta.

preg_match_all('|<' . $tag . '>(.*)</' . $tag . '>|', $data, $out);

Det fungerar perfekt. Så länge svaret handlar om en enda rad (inga \n). Men är det 2 eller flera rader så missar den (en eller flera \n).

Jag har suttit en stund och experimenterat med olika nycklar från en lista jag hittade någonstans. Men är inte riktigt säker på var jag ska sätta dom.

Någon som vet hur jag ska få den att ignorera \n?

pulseMedlem sedan nov. 200373 inlägg
#2

Du måste lägga på ett /s efter ditt pattern

<?php
$data = "<p>
1</p>
<p>2</p>
<p>

</p>3";
$pattern = "/<p\b[^>]*>(.*?)<\/p>/s";
preg_match_all($pattern, $data, $out);
var_dump($out);
drewMedlem sedan mars 2007845 inlägg
#3

Tack. /s hade jag redan hittat. Problemet låg nog i resten.

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