PDA

Bekijk Volledige Versie : PHP reg_exp en strpos()



Jan Smeelen
02/05/05, 02:25
Gegevens :
Nieuwe server met FreeBSD 4.10-RELEASE-p5 , en PHP Version 4.3.9

In een script waar een document wordt opgehaald vanaf een andere site
( complete HTML pagina ) wordt m.b.v. eregi() gefilterd :

$begin_data='<CENTER>';
$eind_data='<p>';
eregi("$begin_data(.*)$eind_data", $code, $data);

Output gaat niet goed, lijkt wel of een heel gedeelte van de inhoud verloren
gaat.
( Mogelijk probleem met geheugen ? )

Echter probeer ik een andere mogelijkheid met :
strpos() :
$pos = strpos($opgehaalde pagina, '<CENTER>');

if ($pos === false) {
echo "not found";
} else {
echo " Gevonden op positie $pos";
}

Steeds krijg ik "not found"

Zoek ik echter zonder "<" dus op "CENTER" dan krijg ik wél de positie
terug.

Op een andere server, precies hetzelfde getest, daar gaat alles wél goed
(lees : krijg ik wél de positie van "<CENTER>" retour ) !

Die eregi() gaat verkeerd, en ik vermoed dat strpos() onderhuids gebruik
maakt
van ook een reg_exp's , en dat daar ergens de fout moet zitten.

Wie helpt me op weg ? :o)

Jan.

Jan Ehrhardt
02/05/05, 03:25
Jan Smeelen in nl.internet.www.server-side (Mon, 2 May 2005 02:15:10
+0200):

>In een script waar een document wordt opgehaald vanaf een andere site
>( complete HTML pagina ) wordt m.b.v. eregi() gefilterd :
>
> $begin_data='<CENTER>';
> $eind_data='<p>';
> eregi("$begin_data(.*)$eind_data", $code, $data);

Probeer die < aan het begin eens te escapen \< of zo te schrijven [<]

Jan
--
Look, Ma. No tables - http://enbio.steenbergen-stichting.nl/

Jan Smeelen
03/05/05, 00:35
"Jan Ehrhardt" <monitor@idem.invalid> schreef in bericht
news:msva715n4ubqh30l6vpseq4418skvbqdob@4ax.com...
> Jan Smeelen in nl.internet.www.server-side (Mon, 2 May 2005 02:15:10
> +0200):
>
>>In een script waar een document wordt opgehaald vanaf een andere site
>>( complete HTML pagina ) wordt m.b.v. eregi() gefilterd :
>>
>> $begin_data='<CENTER>';
>> $eind_data='<p>';
>> eregi("$begin_data(.*)$eind_data", $code, $data);
>
> Probeer die < aan het begin eens te escapen \< of zo te schrijven [<]

Heb ik geprobeerd, krijg dan een lege pagina...

Ik heb zelf een andere oplossing bedacht, omdat het script moest draaien,
( in feite om dit gebrek heen geprogrammeerd zonder reg exp´s dus)
echter had ik de hoop de opdrachtgever te kunnen vertellen wat er fout zit
op zijn server....

Bedankt voor je reply !
Jan.