Witajcie, przepisałem dość prosty parser z Delphi i wydaje się że wszystko jest ok, ale nie działa :/
Mój kod w PHP:
<?php
function parse($Str, $StrBegin, $StrEnd)
{
$B = 0;
$E = 0;
if($StrBegin == '')
{
$B = 1;
}
else
{
$B = StriPos($Str, $StrBegin);
}
if($B > 0)
{
$Str = SubStr($Str, $B + StrLen($StrBegin), PHP_INT_MAX);
if ($StrEnd == '')
{
$E = StrLen($Str) + 1;
}
else
{
$E = StriPos($Str, $StrEnd);
}
if($E > 0)
{
Return StrLen($Str, 1, $E - 1);
}
}
}
$txt='<alalula>';
$first='<';
$last='>';
echo parse($txt, $first, $last);
?>
i funkcja z Delphi
function Parse(Str, StrBegin, StrEnd : string) : string;
var
B, E : integer;
begin
Result := '';
if StrBegin = '' then
begin
B := 1;
end
else
begin
B := Pos(StrBegin, Str);
end;
if B > 0 then
begin
Str := Copy(Str, B + Length(StrBegin), MaxInt);
if StrEnd = '' then
begin
E := Length(Str) + 1;
end
else
begin
E := Pos(StrEnd, Str);
end;
if E > 0 then
begin
Result := Copy(Str, 1, E - 1);
end;
end;
end;