php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.02.2010, 15:39  
Benutzer
 
Registriert seit: 17.06.2009
Beiträge: 97
PHP-Kenntnisse:
Fortgeschritten
hondatuner befindet sich auf einem aufstrebenden Ast
Standard Bilder automatisch erkennen: preg_replace()

Hi,

ich setze aktuell diesen Code ein:
Code:
$text = preg_replace('#(^|[\n ])(([\w]+?://(www\.))|([\w]+?://)|(www\.))([\w\#$%&~/.\-;|:=,?@\[\]+]*\.(jpe?g|gif|png))([\t \n\r])#i', '\\1[bild]http://\\4\\6\\7[/bild]\\9', $text);
Dummerweise funktioniert das nicht, wenn der String mit dem Bild endet. Das hier will nicht funktionieren:
Code:
$text = preg_replace('#(^|[\n ])(([\w]+?://(www\.))|([\w]+?://)|(www\.))([\w\#$%&~/.\-;|:=,?@\[\]+]*\.(jpe?g|gif|png))([\t \n\r$])#i', '\\1[bild]http://\\4\\6\\7[/bild]\\9', $text);
Also ich dachte ich nehm das Stringschluss-Zeichen ($) in die Zeichenklasse auf. Gibts noch nen anderen Befehl für den Stringschluss innerhalb einer Zeichenklasse?
__________________
meine PHP Scripte

Geändert von hondatuner (07.02.2010 um 15:43 Uhr).
hondatuner ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.02.2010, 05:29  
Erfahrener Benutzer
 
Benutzerbild von mermshaus
 
Registriert seit: 14.06.2009
Beiträge: 1.579
PHP-Kenntnisse:
Fortgeschritten
mermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblick
Standard

Mach doch so wie zu Beginn auch:

Code:
(^|\s) ... (\s|$)
mermshaus ist offline   Mit Zitat antworten
Alt 08.02.2010, 05:42  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Bzw.
([\t \n\r]|$)

$ in die Zeichenklasse funktioniert nicht.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 09.02.2010, 11:03  
Benutzer
 
Registriert seit: 17.06.2009
Beiträge: 97
PHP-Kenntnisse:
Fortgeschritten
hondatuner befindet sich auf einem aufstrebenden Ast
Standard

Danke nikosch!

Falls es jemanden interessiert:
Mit dem preg_replace() werden Bilderlinks in Forenbeiträgen automatisch mit [img] umschlossen, falls das noch nicht geschehen ist. Das funktionierte bisher super, bis ein User einen Link im Forum http://example.org/bild.jpg/ postete. Also kein Bild, sondern ein Verzeichnis. Daher muss ich das nun um die möglichen Varianten erweitern. D.h. es muss ein Leerzeichen, Tab, Zeilenumbruch folgen oder eben wie jetzt gelöst das Ende des Beitrages erreicht worden sein.

Allerdings sehe ich gerade, dass die http://www.-Erkennung etwas kompliziert gelöst ist. Die braucht man gar nicht. Es reicht die Erkennung von http und https. Also sowas z.B.:
Code:
([\w]+://)
__________________
meine PHP Scripte
hondatuner ist offline   Mit Zitat antworten
Alt 09.02.2010, 13:12  
Erfahrener Benutzer
 
Benutzerbild von mermshaus
 
Registriert seit: 14.06.2009
Beiträge: 1.579
PHP-Kenntnisse:
Fortgeschritten
mermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblickmermshaus ist ein wunderbarer Anblick
Standard

Ich hatte mir das gestern auseinandergefriemelt. "<protocol>://", "www." und "<protocol>://www." sind zulässig. Das heißt, auch "www.example.org/bild.jpg" würde als Bild erkannt. Deshalb sieht das so umständlich aus.

"\t \n\r" sollte alles in "\s" enthalten sein.

Wieso benutzt niemand den x-Modifier und formatiert Patterns ordentlich?
mermshaus ist offline   Mit Zitat antworten
Antwort


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
Bilder hochladen und automatisch kleines Vorschau-Bild erstellen Moe LaRoqua PHP Tipps 2009 7 24.11.2009 22:20
Formular felder automatisch mit php erkennen Martuzki Scriptbörse 24 26.09.2009 12:58
Bilder ohne DB sicher speichern Diet PHP Tipps 2005 6 25.03.2009 00:07
Bilder aus Datenbank / <img>-Tags automatisch generieren Teela PHP Tipps 2009 2 14.03.2009 17:40
Links und Email adressen automatisch erkennen workaholic PHP Tipps 2007 1 10.01.2007 19:49
Bilder automatisch auslesen Zangelo PHP Tipps 2006 5 15.01.2006 18:45
Mehrere Bilder Hochladen und bearbeiten PHP Tipps 2005-2 7 23.07.2005 13:48
Bilder in Tabellen nixdorf HTML, Usability und Barrierefreiheit 36 09.05.2005 21:15
wml oder php/html Seiten automatisch erkennen Soese PHP Tipps 2005 4 13.01.2005 22:57
Bilder Automatisch anzeigen lassen? test022 PHP Tipps 2004-2 7 23.12.2004 00:11
Begriffe erkennen und automatisch verlinken PHP Tipps 2004 8 22.10.2004 14:40
Mysql automatisch nach 5 Bilder PHP-Fortgeschrittene 2 11.09.2004 09:43
Bilder automatisch bei der Anzeige verkleinern. PHP Tipps 2004 3 16.08.2004 07:27
Bilder vor dem download automatisch verkleinern PHP Tipps 2004 2 08.07.2004 02:04
Automatisch Logo in upgeloadene Bilder einblenden PHP-Fortgeschrittene 3 16.06.2004 10:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
bilder hochladen und erkennen, preg_replace bilder, bild hochladen und erkennen, bild hochladen erkennen, bilder automatisch erkennen, bilder erkennung, bild erkennen, fotos automatisch erkennen, php preg_replace bilder, php bilder erkennen, preg_replace alle bilder, http://www.php.de/php-fortgeschrittene/64320-bilder-automatisch-erkennen-preg_replace.html, preg_replace bilder anzeigen, bilder hochladen erkennen, bild hochladen erkennung, php preg bild <img aus text, bild automatisch erkennen, bilder upload erkennen, bild uploaden erkennung, personen auf bilder erkennen

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:10 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