abonnement Unibet Coolblue Bitvavo
pi_20653552
quote:
Op donderdag 15 juli 2004 23:03 schreef Swetsenegger het volgende:
$invoer = preg_replace("/(www\.[A-Za-z0-9._-\/~]\.[A-Za-z]+)/i",'<a href="http://\1" rel="external">\1</a>\1',$invoer);

Volgens mij pak ik hier alles mee tot en met .co.uk en .com.tw enzo...

toch?
Maar www.123swets.com/test gaat nog wel mis.
  FOK!-Schrikkelbaas donderdag 15 juli 2004 @ 23:13:30 #202
1972 Swetsenegger
Egocentrische Narcist
pi_20653678
quote:
Op donderdag 15 juli 2004 23:08 schreef Light het volgende:

[..]

Maar www.123swets.com/test gaat nog wel mis.
Ja ik zie het
Ik ga er nog eens diep over nadenken
Volgens mij kan je nooit alles afvangen. Op welke manier dan ook. Met de laatste regel welke ik nu gebruik gaat het alleen mis wanneer mensen ieen punt achter de url zetten of vreemde tekens als % en ^.

De tekens welke je mag verwachten heb ik wel afgevangen
pi_20654020
quote:
Op donderdag 15 juli 2004 23:13 schreef Swetsenegger het volgende:

[..]

Ja ik zie het
Ik ga er nog eens diep over nadenken
Volgens mij kan je nooit alles afvangen. Op welke manier dan ook. Met de laatste regel welke ik nu gebruik gaat het alleen mis wanneer mensen ieen punt achter de url zetten of vreemde tekens als % en ^.

De tekens welke je mag verwachten heb ik wel afgevangen
Voor de ingewikkeldere dingen kunnen mensen vast ook een url-tag gebruiken. En wat dat betreft hoef je niet alles af te vangen op een gewoon www. adres. En als je het zo bekijkt is

$invoer = preg_replace("/(www(\.[-A-Za-z0-9]+)+\.[A-Za-z]{2,4}(\/\~?[-A-Za-z0-9\.\/?%&=#]?)/i",'<a href="http://\1" rel="external">\1</a>',$invoer);

waarschijnlijk ook wat overdreven compleet
  FOK!-Schrikkelbaas vrijdag 16 juli 2004 @ 08:54:38 #204
1972 Swetsenegger
Egocentrische Narcist
pi_20658577
quote:
Op donderdag 15 juli 2004 23:27 schreef Light het volgende:


$invoer = preg_replace("/(www(\.[-A-Za-z0-9]+)+\.[A-Za-z]{2,4}(\/\~?[-A-Za-z0-9\.\/?%&=#]* )?)/i",'<a href="http://\1" rel="external">\1</a>',$invoer);
LOL, dit is ongeveer de regexp welke ik zat te bedenken in mijn hoofd:

www. daarna alle karakters een punt dan com info co org , dus 2 tot 4 karakters en geen cijfers dan eventueel een slash, tilde en wederom alle karakters dan eventueel een punt en max 4 letters had ik in mijn hoofd.
pi_20658824
Als je nu ook nog een [.url] [./url] tag gaat inbouwen krijg je wel leuke effecten.
En webadressen mogen ook beginnen met http:// (of https://) om het nog ingewikkelder te maken.
pi_20659086
t64e<?php

$regexp = '(((http|ftp|https|gopher)://)?([a-z]+)\.([a-zA-Z0-9]+)(\.([a-z]+)){1,2}([/\\][a-zA-Z0-9]*)';
$regrep = '<a href="\\1">\\1</a>';

$text = 'Dit is een test voor website urls. Midden in een zin moet www.reuters.com goed geparsed worden, en ook www.reuters.co.uk met meerdere punten moet ook goed doorkomen. Url\'s met meerdere niveau\'s zoals www.fok.nl/nieuws of www.fok.nl/nieuws/ moeten eigenlijk stiekum ook rond komen. Op het einde van een zin moet het ook goedkomen met www.fokforum.nl. En niet te vergeten http://forum.fok.nl/templates/foksilver/i/logo.jpg';

echo ereg_replace($regexp, $regrep, $text);
?>

Alleen ik krijg dan problemen met http://forum.fok.nl/templates/foksilver/i/logo.jpg die stopt dan bij de punt zeg maar en de jpg niet meepakt. Als ik echter
$regexp = "(((http|ftp|https|gopher)://)?([a-z]+)\.([a-zA-Z0-9]+)(\.([a-z]+)){1,2}([/\\][^ \t\n\r$]*)";
gebruik, dan gaat dat wel goed, maar weet je weer niet zeker of dat alle extremiteiten dan wel in orde zijn omdat je vrij veel accepteerd op het eind.

Valt me op trouwens dat www.fok.nl/nieuws/ niet gepakt wordt... en www.fok.nl/nieuws ook niet. terwijl die lange op het einde in replique wel goed gaat. hmmmm....
  FOK!-Schrikkelbaas vrijdag 16 juli 2004 @ 11:16:53 #207
1972 Swetsenegger
Egocentrische Narcist
pi_20660432
quote:
Op vrijdag 16 juli 2004 09:49 schreef Roönaän het volgende:
t64e<?php

$regexp = '(((http|ftp|https|gopher)://)?([a-z]+)\.([a-zA-Z0-9]+)(\.([a-z]+)){1,2}([/\\][a-zA-Z0-9]*)';
$regrep = '<a href="\\1">\\1</a>';

$text = 'Dit is een test voor website urls. Midden in een zin moet www.reuters.com goed geparsed worden, en ook www.reuters.co.uk met meerdere punten moet ook goed doorkomen. Url\'s met meerdere niveau\'s zoals www.fok.nl/nieuws of www.fok.nl/nieuws/ moeten eigenlijk stiekum ook rond komen. Op het einde van een zin moet het ook goedkomen met www.fokforum.nl. En niet te vergeten http://forum.fok.nl/templates/foksilver/i/logo.jpg';

echo ereg_replace($regexp, $regrep, $text);
?>

Alleen ik krijg dan problemen met http://forum.fok.nl/templates/foksilver/i/logo.jpg die stopt dan bij de punt zeg maar en de jpg niet meepakt. Als ik echter
$regexp = "(((http|ftp|https|gopher)://)?([a-z]+)\.([a-zA-Z0-9]+)(\.([a-z]+)){1,2}([/\\][^ \t\n\r$]*)";
gebruik, dan gaat dat wel goed, maar weet je weer niet zeker of dat alle extremiteiten dan wel in orde zijn omdat je vrij veel accepteerd op het eind.

Valt me op trouwens dat www.fok.nl/nieuws/ niet gepakt wordt... en www.fok.nl/nieuws ook niet. terwijl die lange op het einde in replique wel goed gaat. hmmmm....
Volgens mij gaan we nu een beetje voorbij aan de topictitel
overigens denk ik dat www.fok.nl/nieuws alleen goed gaat wanneer gevolgd door een punt en daarna minimaal 2 karakters

www.fok.nl/nieuws.ph

Ja dus

Volgens mij lijkt Breuls url parser verdomd veel op een van die laatste van ons

[ Bericht 5% gewijzigd door Swetsenegger op 16-07-2004 11:21:58 ]
  FOK!-Schrikkelbaas vrijdag 16 juli 2004 @ 11:17:29 #208
1972 Swetsenegger
Egocentrische Narcist
pi_20660444
quote:
Op vrijdag 16 juli 2004 09:23 schreef Light het volgende:
Als je nu ook nog een [.url] [./url] tag gaat inbouwen krijg je wel leuke effecten.
En webadressen mogen ook beginnen met http:// (of https://) om het nog ingewikkelder te maken.
mjah, hij negeert de http:// gewoon en zet de www erachter wel netjes naar een url. Niets aan de hand dus
pi_20661545
quote:
Op vrijdag 16 juli 2004 11:17 schreef Swetsenegger het volgende:

[..]

mjah, hij negeert de http:// gewoon en zet de www erachter wel netjes naar een url. Niets aan de hand dus
Je kan er toch een eenvoudige (((http|https|ftp)://)?) tussenplakken aan het begin? Dan heb je dat ook afgevangen.
  FOK!-Schrikkelbaas vrijdag 16 juli 2004 @ 12:58:32 #210
1972 Swetsenegger
Egocentrische Narcist
pi_20662573
quote:
Op vrijdag 16 juli 2004 12:06 schreef Roönaän het volgende:

[..]

Je kan er toch een eenvoudige (((http|https|ftp)://)?) tussenplakken aan het begin? Dan heb je dat ook afgevangen.


Van het weekend wel eens kritisch naar de url parser kijken.
pi_20662748
quote:
Op donderdag 15 juli 2004 22:36 schreef Swetsenegger het volgende:

[..]

Het is wel hoofdpijn code ja
Maar wel krachtig!
tis idd krachtrig maar als ik geen duidelijke nl uitleg van iedere mogelijkheid (dus wat ^ en $ etc betekenen) heb dan schiet ik er zelf weinig mee op..
maar ik nog wel eff googlen
  FOK!-Schrikkelbaas vrijdag 16 juli 2004 @ 13:41:40 #212
1972 Swetsenegger
Egocentrische Narcist
pi_20662858
quote:
Op vrijdag 16 juli 2004 13:07 schreef mschol het volgende:

[..]

tis idd krachtrig maar als ik geen duidelijke nl uitleg van iedere mogelijkheid (dus wat ^ en $ etc betekenen) heb dan schiet ik er zelf weinig mee op..
maar ik nog wel eff googlen
^ begin string
$ einde string

http://www.phphulp.nl/php/tutorials/2/29
http://www.phphulp.nl/php/tutorials/2/134
  FOK!-Schrikkelbaas vrijdag 16 juli 2004 @ 14:15:15 #213
1972 Swetsenegger
Egocentrische Narcist
pi_20663427
<?
# Regular Expressions:

"^Ik" // geeft aan dat een string moet beginnen met "Ik"

"en jij$" // geeft aan dat de string moet eindigen op "en jij"

"^Ik en jij$" // hier moet de string beginnen met "Ik en jij" maar er ook op eindigen, alleen "Ik en jij" is dus correct

"ik" // geeft aan dat een string de waarde "ik" moet bevatten


"ab*" // geeft aan dat na de a een aantal b's moeten komen (dit kunnen er ook nul zijn) bv. "a" (dan zijn er 0 b's) "ab", "abb", "abbb" enz

"ab+" // is vrijwel hetzelfde alleen mag b geen nul keer voorkomen dus "ab", "abb", "abbb" enz

"ab?" // geeft aan dat b nul of 1 keer mag voorkomen


"ab{2}" // geeft aan dat de a gevolgt wordt door exact 2 b's dus "abb"

"ab{2,}" // geeft aan dat de a gevolgt wordt door minimaal 2 b's "abb", "abbb" enz

"ab{1,3}" // geeft aan dat a gevolgt wordt door 1, 2 of 3 b's dus "ab", "abb" of "abbb"


"a(bc)*" // de haakjes geven aan dat het om dat hele stuk gaat dus bc komt nul of meer keer voor: "a", "abc", "abcbc" enz

"a(bc){1,3}" // geeft aan dat bc 1 tot 3 keer voor moet komen "abc", "abcbc" of "abcbcbc"


"hoi|dag" // geeft aan dat een string hallo of dag moet bevatten

"(hoi|dag)ik" // geeft aan dat er voor ik hoi of dag moet staan

"(ab|bc)*d" // geeft aan dat d voorafgegaan moet worden door ab of bc


"[a-d]" // geeft aan dat een string de kleine letters a tot en met d moet bevatten

"[a-zA-Z]" // betekent alle kleine a-z en alle hoofd A-Z

"[0-9]" // geeft een string aan met cijfers 0-9

"[a-zA-Z0-9]" // combineert de twee hierboven


"." // met een punt kunnen we één teken defineren

"a.[0-9]" // de waarde a wordt gevolgt door een willekeurig teken en een getal tussen 0-9

"^.{5}$" // houdt in dat de string 5 willekeurige tekens bevat

note : als je het bv dollarteken los van de expressie wil gebruiken doe je dat zo "\$" (binnen de [ ] niet daar is een $ gewoon een $)

"[^a-d]$" // geeft aan dat een string niet eindigt op de letters a-d

"^[^A-Z]\.$" // geeft aan dat een string niet met een hoofdletter begint maar wel op een punt eindigt
?>
pi_20669691
quote:
Op vrijdag 16 juli 2004 12:06 schreef Roönaän het volgende:

[..]

Je kan er toch een eenvoudige (((http|https|ftp)://)?) tussenplakken aan het begin? Dan heb je dat ook afgevangen.
(((https?|ftp):\/\/)?) is korter. Dat protocol moet natuurlijk ook in de uiteindelijke link komen, maar da's niet zo'n probleem. Als er geen protocol gekozen is moet er ook een link gemaakt worden, en dan wel met http:// als protocol. Da's lastiger.
  FOK!-Schrikkelbaas vrijdag 16 juli 2004 @ 20:09:07 #215
1972 Swetsenegger
Egocentrische Narcist
pi_20672419
Tja, nou ik ben wel aardig door m'n features heen. Ik zal de code nog wel wat optimaliseren, maar het is wel 'af' nu. Wat zal ik nu eens gaan doen
pi_20674063
quote:
Op vrijdag 16 juli 2004 20:09 schreef Swetsenegger het volgende:
Tja, nou ik ben wel aardig door m'n features heen. Ik zal de code nog wel wat optimaliseren, maar het is wel 'af' nu. Wat zal ik nu eens gaan doen
een CMS bouwen ???
  FOK!-Schrikkelbaas vrijdag 16 juli 2004 @ 21:57:14 #217
1972 Swetsenegger
Egocentrische Narcist
pi_20675034
quote:
Op vrijdag 16 juli 2004 21:16 schreef mschol het volgende:

[..]

een CMS bouwen ???
Ja, dat idee had ik al
  FOK!-Schrikkelbaas zaterdag 17 juli 2004 @ 18:54:55 #218
1972 Swetsenegger
Egocentrische Narcist
pi_20690221
Wat doe ik fout?
Welke naam ik ook intik, ik kom steeds weer op login.php...
quote:
if(isset($_POST['submit'])){


if(($_POST['username']=='testnaam') AND ($_POST['password']=='testpass')){

session_start();
$_SESSION['username']='testnaam';
$_SESSION['password']='testpass';
header("Location: onderhoud.php");
ob_end_flush();

}else{
header("Location: login.php");
ob_end_flush();}
pi_20690388
quote:
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if($_POST['username'] == 'testnaam' && $_POST['password'] == 'testpass') {
session_start();
$_SESSION['username'] = 'testnaam'];
$_SESSION['password'] = 'testpass';
header('Location: onderhoud.php');
}
else {
header('Location: login.php');
}
}
is wat netter.

maar ehh...je weet zeker dat die invoervelden ook echt bestaan in dat formulier?
  FOK!-Schrikkelbaas zaterdag 17 juli 2004 @ 19:04:29 #220
1972 Swetsenegger
Egocentrische Narcist
pi_20690461
quote:
Op zaterdag 17 juli 2004 19:01 schreef sylvesterrr het volgende:

[..]

is wat netter.

maar ehh...je weet zeker dat die invoervelden ook echt bestaan in dat formulier?
Ja...

volledige php:
quote:
<?php

if(isset($_POST['logout'])){

session_start();
unset($_SESSION);
session_destroy();
header("Location: login.php");
ob_end_flush();}// output buffering stoppen en alles doorsturen naar de client.


if(isset($_POST['submit'])){


if(($_POST['username']=='testnaam') AND ($_POST['password']=='testpass')){

session_start();
$_SESSION['username']='testnaam';
$_SESSION['password']='testpass';
header("Location: onderhoud.php");
ob_end_flush();// output buffering stoppen en alles doorsturen naar de client.


}else{
header("Location: login.php");
ob_end_flush();}// output buffering stoppen en alles doorsturen naar de client.


}
else{

print('<form action="login.php" method="post">
<p class="highlight2">Username:</p>
<input type="text" name="username" size="20" />
<p class="highlight2">Password:</p>
<input type="text" name"password" size="20" />
<input type="submit" name="submit" value="Log in" />
<input type="submit" name="logout" value="Log out" />
</form>');
}


?>
pi_20690570
<input type="text" name"password" size="20" />
--> <input type="text" name="password" size="20" />



var_dump($_POST) levert het volgende op:
quote:
array(2) { ["username"]=> string(8) "testnaam" ["submit"]=> string(6) "Log in" }
$_POST['password'] bestaat dus niet eens.
  FOK!-Schrikkelbaas zaterdag 17 juli 2004 @ 19:34:56 #222
1972 Swetsenegger
Egocentrische Narcist
  FOK!-Schrikkelbaas zaterdag 17 juli 2004 @ 19:51:43 #223
1972 Swetsenegger
Egocentrische Narcist
pi_20691605
Volgens mij zie ik weer wat over het hoofd... op onderhoud.php staat nu deze toevoeging
quote:
<?php
ob_start(); //starten output buffering

if(($_SESSION['username']!='testnaam') AND ($_SESSION['password']!='testpass')){
header("Location: login.php");
exit();
ob_end_flush();}// output buffering stoppen en alles doorsturen naar de client.

?>
En ik kom alleen op login.php terecht
  FOK!-Schrikkelbaas zaterdag 17 juli 2004 @ 20:14:10 #224
1972 Swetsenegger
Egocentrische Narcist
pi_20692094
AAAARGH,

session_start()

pi_20692226
quote:
Op zaterdag 17 juli 2004 20:14 schreef Swetsenegger het volgende:
AAAARGH,

session_start()

Voortaan wat beter slapen he.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')