webForumDet fria alternativet

Reqular expression?

PHP

2 svar · 467 visningar · startad av drew

Medlem sedan mars 2007845 inlägg
Frågan#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?

Medlem 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);
Medlem sedan mars 2007845 inlägg
#3

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

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