Maar www.123swets.com/test gaat nog wel mis.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?
Ja ik zie hetquote:Op donderdag 15 juli 2004 23:08 schreef Light het volgende:
[..]
Maar www.123swets.com/test gaat nog wel mis.
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 isquote: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
LOL, dit is ongeveer de regexp welke ik zat te bedenken in mijn hoofd: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);
Volgens mij gaan we nu een beetje voorbij aan de topictitelquote: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....
mjah, hij negeert de http:// gewoon en zet de www erachter wel netjes naar een url. Niets aan de hand dusquote: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.
Je kan er toch een eenvoudige (((http|https|ftp)://)?) tussenplakken aan het begin? Dan heb je dat ook afgevangen.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
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.
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..quote:Op donderdag 15 juli 2004 22:36 schreef Swetsenegger het volgende:
[..]
Het is wel hoofdpijn code ja
Maar wel krachtig!
^ begin stringquote: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
(((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.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.
een CMS bouwen ???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
Ja, dat idee had ik alquote:Op vrijdag 16 juli 2004 21:16 schreef mschol het volgende:
[..]
een CMS bouwen ???
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();}
is wat netter.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');
}
}
Ja...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?
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>');
}
?>
$_POST['password'] bestaat dus niet eens.quote:array(2) { ["username"]=> string(8) "testnaam" ["submit"]=> string(6) "Log in" }
En ik kom alleen op login.php terechtquote:<?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.
?>
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |