php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.07.2007, 18:54  
Erfahrener Benutzer
 
Registriert seit: 21.01.2008
Beiträge: 595
themonk ist zur Zeit noch ein unbeschriebenes Blatt
Standard Links automatisch erstellen

Hallo,
ich wollte geren wissen wie man mit php automatisch Hyperlinks erstellen kann.
Also ich habe vor, dass wenn jemand in ein Gästebuch www.google.de, http:// www.google.de oder google.de oder z.B. http://www.google.de/search?hl=de&sa...nG=Suche&meta=


eingibt immer ein Link erstellt wird so wie hier im Forum
Könnt ihr mir da weiter helfen?
themonk ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.07.2007, 19:03  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

dann muss du dich mit regex auseinander zu setzten oder zbs bei phpBB die passende stelle in queltext zu finden.
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 05.07.2007, 19:43  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

grob würde es etwa so aussehen:
Code:
$pt="#\s((www\.|https*://)\S++)#";
function callb($erg){
  return ' '.$erg[1].'';
}
echo preg_replace_callback($pt,'callb',$text);
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 05.07.2007, 19:52  
Erfahrener Benutzer
 
Registriert seit: 21.01.2008
Beiträge: 595
themonk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Habs so gemacht
PHP-Code:
      $s_patter[]='"(( |^)((ftp|http|https){1}://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)"i';
  
$r_patter[]='[url="\1"]\\1[/url]'
Aber sobald ein & im Link ist wird der Link bis zum & weitergeführt danach kommt dann ein normaler Text und ein ;
http://www.google.de?test&;php beibei ;php nicht mehr zum Link gehört
themonk ist offline  
Alt 05.07.2007, 20:06  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

es geibt mehrere zeichen, die du nicht aufgelistet hast.
ausserdem wird ein link einfach mit www nich ersetzt.
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 06.07.2007, 07:37  
Erfahrener Benutzer
 
Registriert seit: 21.01.2008
Beiträge: 595
themonk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mit (ftp|http|https|www) wird dann ja auch www ersetzt.
Aber das & habe ich doch aufgelistet also müsste es doch eigendlich funktionieren oder nicht?
themonk ist offline  
Alt 06.07.2007, 07:53  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

kannst das ja sonst vielleicht auch in mehreren Schritten erledigen:

PHP-Code:
            #Muster für URL erfassen
            
$exp[] = "#\[url\]([\w]+?://[^ \"\n\r\t<]*?)\[/url\]#is";
            
$rep[] = "<a href=\"$1\" target=\"_blank\" class=\"nlink\">$1</a>";

            
$exp[] = "#\[url\]([^ \"\n\r\t<]*?)\[/url\]#is";
            
$rep[] = "<a href=\"http://$1\" target=\"_blank\" class=\"nlink\">$1</a>";

            
$exp[] = "#\[url\]((www|ftp)\.[^ \"\n\r\t<]*?)\[/url\]#is";
            
$rep[] = "<a href=\"http://$1\" target=\"_blank\" class=\"nlink\">$1</a>";

            
$exp[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
            
$rep[] = "<a href=\"$1\" target=\"_blank\" class=\"nlink\">$2</a>";

            
$exp[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
            
$rep[] = "<a href=\"http://$1\" target=\"_blank\" class=\"nlink\">\\3</a>";

            
#URL einfügen
            
$text preg_replace($exp$rep$text);

            
$text preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r<]*)#is""$1<a href=\"http://$2\" target=\"_blank\" class=\"nlink\">$2</a>"$text);

            
$text preg_replace("#(^|[\r\n])([\w]+?://[^ \"\n\r\t<]*)#is""$1<a href=\"$2\" target=\"_blank\" class=\"nlink\">$2</a>"$text); 
so hab ichs zurzeit. Allerdings noch nicht alles abgedeckt... aber zum verfeinern der Scripte bin ich noch nicht gekommen.

Erinnert stark an die Art wie es phpBB macht ^^ das kommt daher, dass ich mir da damals die denkanstösse geholt habe
Igäl ist offline  
Alt 06.07.2007, 10:34  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

Zitat:
Zitat von bölckstoff
Mit (ftp|http|https|www) wird dann ja auch www ersetzt.
Aber das & habe ich doch aufgelistet also müsste es doch eigendlich funktionieren oder nicht?
es wird zwar 'www' ersetzt aber leider ohne 'http' prefix.
<a href="www....." ist kein richtiger link
du muss nicht wirklich ein url auf seine richtigkeit prüffen, also finde ich mein fegex schon ausreichend (ok ftp muss auch rein).
wenn du unbedingt url so wie im rfc haben willst (was du eigentlich nicht brauchst) , dann viel spass
http://forum.de.selfhtml.org/archiv/...43180/#m236293
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 06.07.2007, 14:05  
Erfahrener Benutzer
 
Registriert seit: 21.01.2008
Beiträge: 595
themonk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Habs nun mit dem Code von Slava gemacht der reicht wohl doch aus
Danke
themonk ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Link Automatisch erstellen errox PHP Tipps 2008 11 04.02.2008 21:09
Links und Email adressen automatisch erkennen workaholic PHP Tipps 2007 1 10.01.2007 19:49
E-Mail Weiterleitung automatisch erstellen R4v3r PHP Tipps 2006 7 06.07.2006 03:09
Tabelle Automatisch erstellen Zangelo PHP Tipps 2006 5 03.05.2006 23:06
[Erledigt] Offline-Version der Homepage automatisch erstellen Server, Hosting und Workstations 10 22.02.2006 17:59
automatisch Verzeichnis oder subdomain erstellen PHP Tipps 2007 3 19.12.2005 15:39
Automatisch E-Mail Adressen erstellen lassen? Beitragsarchiv 5 24.08.2005 15:36
Tabelle ganz links lalala HTML, Usability und Barrierefreiheit 1 06.07.2005 14:29
ordner auf ftp automatisch erstellen? imported_kremser PHP Tipps 2005-2 3 14.06.2005 11:51
link automatisch erstellen JanM PHP Tipps 2005 1 06.01.2005 17:18
relative Links automatisch umändern Blank PHP Tipps 2004-2 8 30.12.2004 11:37
Sessions werden automatisch an Links angehängt PHP-Fortgeschrittene 3 10.12.2004 13:50
automatisch php datei erstellen Kenshin PHP Tipps 2004 1 08.09.2004 21:18
*.zip oder *.rar automatisch erstellen??? 18inch PHP Tipps 2004 11 04.07.2004 11:34
Dropdown Liste automatisch erstellen PHP Tipps 2004 2 20.06.2004 12:41

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ftp link automatisch generieren, php ftp link automatisch, hyperlinks automatisch erstellen 2007, php links automatisch erkennen, link automatisch erstellen php, automatisch hyperlinks erstellen verzeichnis

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:38 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.