Bekijk Volledige Versie : Fout in expressie
Mike Obiku
07/05/04, 22:55
Ik probeer met de volgende expressie te controlen of een url die ingevoerd
is wel aan de juiste voorwaarden voldoet:
if
(ereg("^((http(s?))\://)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})(\
:[0-9]+)*(/($|[a-zA-Z0-9\.\,\;\?\'\\\+&%\$#\=~_\-]+))*$", $homepage)) {
// Er wordt een homepageadres opgegeven: de juiste opmaak toepassen
if(!ereg("^http://", $homepage)) {
// http:// ontbreekt in het adres: hier toevoegen
$homepage = "http://" . $homepage;
}
$hp_format = "<br>Homepage: <a href=" . $homepage . "target='_new'>" .
$homepage . "</a>";
}
Hierbij moet er een link gemaakt worden zodra $homepage aan de volgende
voorwaarde voldoet:
$homepage = www.mijnhomepage.nl en alle andere vormen, is dit zo, dan moet
$hp_format gemaakt worden inclusief http://
$homepage = http://www.mijnhomepage.nl en alle andere vormen, is dit zo dan
moet $hp_format direct $homepage overnemen.
Ik heb de expressie getest bij RegExLib.com en daar werkt hij, maar als ik
hem in mijn php script opneem blijft $hp_format leeg.
Wie kan mij opweg helpen???
--
# Reply at the bottom and on a empty line, not behind any >>> sign #
I only read mail sent to the adres at the bottom.
Mike@familie-smit_punt_nl (vervang _punt_ voor een .)
Warden Dave
07/05/04, 23:45
"Mike Obiku" <Mike@NoSpam.nl> wrote:
> Ik probeer met de volgende expressie te controlen of een url die ingevoerd
> is wel aan de juiste voorwaarden voldoet:
> if
> (ereg("^((http(s?))\://)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})(\
> :[0-9]+)*(/($|[a-zA-Z0-9\.\,\;\?\'\\\+&%\$#\=~_\-]+))*$", $homepage)) {
Zo te schatten mis je de benodigde delimiters voor je regEx. Tussen de aanhalings-
tekens zou eventueel iets kunnen staan als:
/^((http(s?))\:\/\/)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})(\:[0-9]+)*(\/($|[a-zA-Z0-9\.\,\;\?\'\\\+&%\$#\=~_\-]+))*$/
WD
Ronald Klip
08/05/04, 01:15
Mike Obiku schreef:
> if
> (ereg("^((http(s?))\://)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})(\
> :[0-9]+)*(/($|[a-zA-Z0-9\.\,\;\?\'\\\+&%\$#\=~_\-]+))*$", $homepage)) {
> // Er wordt een homepageadres opgegeven: de juiste opmaak toepassen
> if(!ereg("^http://", $homepage)) {
> // http:// ontbreekt in het adres: hier toevoegen
> $homepage = "http://" . $homepage;
> }
> $hp_format = "<br>Homepage: <a href=" . $homepage . "target='_new'>" .
> $homepage . "</a>";
> }
> Ik heb de expressie getest bij RegExLib.com en daar werkt hij, maar als ik
> hem in mijn php script opneem blijft $hp_format leeg.
Bij mij werkt je regexp wel...
Is register_globals toevallig in het spel?
(WD, ereg blieft geen delimiters, itt bijv. preg c.s.)
--
groet, Ronald
Warden Dave
08/05/04, 01:25
"Ronald Klip" <nieuws@bladibla.net.invalid> wrote:
> Mike Obiku schreef:
> > (ereg("^((http(s?))\://)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})(\
<knip | etc.>
> (WD, ereg blieft geen delimiters, itt bijv. preg c.s.)
Ah, nou, dan werkt ie dus 'gewoon' !! ;)
WD
Mike Obiku
08/05/04, 06:35
Ronald Klip wrote:
> Mike Obiku schreef:
>> if
>>
(ereg("^((http(s?))\://)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})(\
>> :[0-9]+)*(/($|[a-zA-Z0-9\.\,\;\?\'\\\+&%\$#\=~_\-]+))*$",
>> $homepage)) { // Er wordt een homepageadres opgegeven: de juiste
>> opmaak toepassen if(!ereg("^http://", $homepage)) {
>> // http:// ontbreekt in het adres: hier toevoegen
>> $homepage = "http://" . $homepage;
>> }
>> $hp_format = "<br>Homepage: <a href=" . $homepage .
>> "target='_new'>" . $homepage . "</a>";
>> }
>> Ik heb de expressie getest bij RegExLib.com en daar werkt hij, maar
>> als ik hem in mijn php script opneem blijft $hp_format leeg.
>
> Bij mij werkt je regexp wel...
> Is register_globals toevallig in het spel?
>
> (WD, ereg blieft geen delimiters, itt bijv. preg c.s.)
$homepage komt uit een formulier. Aan het begin van de script staat
$homepage = strip_tag($_POST['homepage']
Dit is gebruikt om eventuele php en html tags te verwijderen.
--
# Reply at the bottom and on a empty line, not behind any >>> sign #
I only read mail sent to the adres at the bottom.
Mike@familie-smit_punt_nl (vervang _punt_ voor een .)
Mike Obiku
08/05/04, 06:45
Mike Obiku wrote:
>
> $homepage komt uit een formulier. Aan het begin van de script staat
> $homepage = strip_tag($_POST['homepage']
> Dit is gebruikt om eventuele php en html tags te verwijderen.
typefoutje: $homepage = strip_tags($_POST['homepage'];
--
# Reply at the bottom and on a empty line, not behind any >>> sign #
I only read mail sent to the adres at the bottom.
Mike@familie-smit_punt_nl (vervang _punt_ voor een .)
Jan Ehrhardt
08/05/04, 10:25
Mike Obiku in nl.internet.www.server-side (Sat, 8 May 2004 06:34:06
+0200):
>Mike Obiku wrote:
>>
>> $homepage komt uit een formulier. Aan het begin van de script staat
>> $homepage = strip_tag($_POST['homepage']
>> Dit is gebruikt om eventuele php en html tags te verwijderen.
>
>typefoutje: $homepage = strip_tags($_POST['homepage'];
En nog een (!?): $homepage = strip_tags($_POST['homepage']);
Jan
--
Look, Ma. No tables - http://enbio.steenbergen-stichting.nl/
Mike Obiku
08/05/04, 22:35
Jan Ehrhardt wrote:
> Mike Obiku in nl.internet.www.server-side (Sat, 8 May 2004 06:34:06
> +0200):
>
>> Mike Obiku wrote:
>>>
>>> $homepage komt uit een formulier. Aan het begin van de script staat
>>> $homepage = strip_tag($_POST['homepage']
>>> Dit is gebruikt om eventuele php en html tags te verwijderen.
>>
>> typefoutje: $homepage = strip_tags($_POST['homepage'];
>
> En nog een (!?): $homepage = strip_tags($_POST['homepage']);
>
> Jan
Zo maak je er toch redelijk wat, en ik ben er sinds dat ik met PHP bezig ben
achter dat je soms 20 keer opnieuw moet lezen wat je getypt hebt. Het
kleinste typfoutje wordt genadeloos afgestraft. Je hebt gelijk zoals jij het
typt staat het ook bij mij in het script, met ) aan het eind. Maar toch
werkt het niet zoals ik denk dat het hoort te werken.???? :-( ;-(
--
# Reply at the bottom and on a empty line, not behind any >>> sign #
I only read mail sent to the adres at the bottom.
Mike@familie-smit_punt_nl (vervang _punt_ voor een .)
Maarten Wierda
08/05/04, 23:05
Mike Obiku wrote:
> Maar toch werkt het niet zoals ik denk dat het hoort te werken.???? :-( ;-(
En wat krijg je als je iets als onderstaande probeert?
if (isset($_POST['homepage']))
{
$homepage = strip_tags($_POST['homepage']);
if
(ereg("^((http(s?))\://)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\;\?\'\\\+&%\$#\=~_\-]+))*$",
$homepage))
{
if(!ereg("^http://", $homepage))
$homepage = "http://" . $homepage;
$hp_format = "<br>Homepage: <a
href=".$homepage."target='_new'>".$homepage."</a>";
}
else
{
echo "homepage voldoet niet aan expressie";
}
}
else
{
echo "homepage bestaat niet";
}
OT: trouwens, waar voetbalt die Obiku nu?
--
Cheers, Maarten Wierda (heeft dat niet gevolgd na het AZ-avontuur)
"Old school, new school.
Shit, I didn't go to school!"
Mike Obiku
09/05/04, 10:15
Maarten Wierda wrote:
> $homepage = strip_tags($_POST['homepage']);
>
> if
>
(ereg("^((http(s?))\://)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})(\
:[0-9]+)*(/($|[a-zA-Z0-9\.\,\;\?\'\\\+&%\$#\=~_\-]+))*$",
> $homepage))
> {
> if(!ereg("^http://", $homepage))
> $homepage = "http://" . $homepage;
>
> $hp_format = "<br>Homepage: <a
> href=".$homepage."target='_new'>".$homepage."</a>";
> }
> else
> {
> echo "homepage voldoet niet aan expressie";
> }
> }
> else
> {
> echo "homepage bestaat niet";
> }
>
> OT: trouwens, waar voetbalt die Obiku nu?
Dit gaf het zelfde resultaat, geen resultaat. Ik heb de exrpessie iets
vereenvoudigd naar:
ereg("^((http(s?))\://)?([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $homepage).
Nu werkt het wel...
OT: Obiku.... al heel lang niets meer van gehoord, maar het blijft mijn
bijnaam
--
# Reply at the bottom and on a empty line, not behind any >>> sign #
I only read mail sent to the adres at the bottom.
Mike@familie-smit_punt_nl (vervang _punt_ voor een .)