Följande borde fungera...
Kod:
<?php
$input="<html>\r\nblabla\r\n<a href=\"javascript:displayMessage('1096471958673919927738', 0);\" class='lank2'>Tryck här»</a> blabla\r\nblabla<a href=\"javascript:displayMessage('1096471870257651289544', 0);\" class='lank2'>En annan länk»</a></html>";
$count = preg_match_all("/<a href=\"javascript:displayMessage\('([0-9]+)', ([0-9]+)\);\" class='lank2'>(.{1,40})»<\/a>/", $input, $matches);
print_r($matches);
for ($i=0;$i<$count;$i++)
{
print "msgid: ".$matches[1][$i]."\n";
print "fm: ".$matches[2][$i]."\n";
print "rubrik: ".$matches[3][$i]."\n\n";
}
?>
Det ger resultatet:
Kod:
Array
(
[0] => Array
(
[0] => <a href="javascript:displayMessage('1096471958673919927738', 0);" class='lank2'>Tryck här»</a>
[1] => <a href="javascript:displayMessage('1096471870257651289544', 0);" class='lank2'>En annan länk»</a>
)
[1] => Array
(
[0] => 1096471958673919927738
[1] => 1096471870257651289544
)
[2] => Array
(
[0] => 0
[1] => 0
)
[3] => Array
(
[0] => Tryck här
[1] => En annan länk
)
)
msgid: 1096471958673919927738
fm: 0
rubrik: Tryck här
msgid: 1096471870257651289544
fm: 0
rubrik: En annan länk
Dock så är ju den regexpen väldigt strikt och känslig för ändringar i länken.. (andra former av whitespace, omdöpta funktionsnamn/css-klasser, blah, blah...) Nu har den även en gräns på 40 tecken i rubriken..