mysqldumper
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 22.03.2005, 11:00   #1
TP-Senior
 
Registriert seit: Oct 2003
Ort: NRW
SkaTeR macht alles soweit korrekt

Problem mit bedingtem Ausdruck


Hallo,

in einem BBCode Parser wollte ich einbauen, dass er URLs die zu lang sind abkürzt, den Fehler kann ich aber nicht finden:

PHP-Code:
$this->BBCodePattern[] = "%\[url=(www.[-a-zA-Z0-9@:\%_\+.~#?&//=]+?)\](.+)\[\/url\]%Uis";  
$this->BBCodeReplace[] = "<a href=\"out.php?out=http://$1\" target=\"_blank\">".((strlen($2) > 30) ? (substr($2,0,30) . "...") : $2)."</a>"
Habe auch probiert ohne ". ." zu arbeiten:

((strlen(http://www.google.de) > 30) ? (substr(http://www.google.de,0,30) . "...") : http://www.google.de)

So sollte es nicht aussehen (hier wird die URL so nicht angenommen)

Code:

PHP-Code:
$this->BBCodePattern[] = "%\[url=(www.[-a-zA-Z0-9@:\%_\+.~#?&//=]+?)\](.+)\[\/url\]%Uis";  
$this->BBCodeReplace[] = "<a href=\"out.php?out=http://$1\" target=\"_blank\">((strlen($1) > 30) ? (substr($1,0,30) . \"...\") : $1)</a>"

Wo ist der Fehler zu suchen?

Danke,
SkaTeR
SkaTeR ist offline   Mit Zitat antworten


Alt 22.03.2005, 11:37   #2
TP-Supporter
 
Benutzerbild von Weede
 
Registriert seit: Jun 2004
Weede ist auf einem guten Weg
was kommt den überhaupt raus, auch wenns nicht paßt, bei deiner lösung?
__________________
Ich bin bereit, meinem Schöpfer gegenüberzutreten.
Ob mein Schöpfer ebenso bereit ist, diese Begegnung über sich ergehen zu lassen, ist eine andere Sache.
Weede ist offline   Mit Zitat antworten
Alt 22.03.2005, 11:55   #3
TP-Senior
 
Registriert seit: Oct 2003
Ort: NRW
SkaTeR macht alles soweit korrekt
Zitat:
((strlen(http://www.google.de) > 30) ? (substr(http://www.google.de,0,30) . "...") : http://www.google.de)
Das ist das Ergebnis ohne ". ." sonst Parse error:

Zitat:
Parse error: parse error, expecting `T_VARIABLE' or `'$'' in /srv/www/htdocs/web39/html/test/mvb20a/inc/bbcode.class.php on line 477
SkaTeR ist offline   Mit Zitat antworten
Alt 22.03.2005, 12:04   #4
TP-Supporter
 
Benutzerbild von Weede
 
Registriert seit: Jun 2004
Weede ist auf einem guten Weg
ah yo. is klar, dass er ohne punkte das ganze einfach reinsetzt. geht es ohne ."..." ?
__________________
Ich bin bereit, meinem Schöpfer gegenüberzutreten.
Ob mein Schöpfer ebenso bereit ist, diese Begegnung über sich ergehen zu lassen, ist eine andere Sache.
Weede ist offline   Mit Zitat antworten
Alt 22.03.2005, 12:35   #5
TP-Senior
 
Registriert seit: Oct 2003
Ort: NRW
SkaTeR macht alles soweit korrekt
Wie würde es denn richtig funktionieren?
SkaTeR ist offline   Mit Zitat antworten
Alt 22.03.2005, 13:14   #6
TP-Specialist
 
Benutzerbild von rewboss
 
Registriert seit: Mar 2005
Ort: Unterfranken
rewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKE
Was heißt $1 in deinem Code? So weit ich weiß, müssen Variable-Namen mit einem Buchstaben oder Unterstrich anfangen: $a1 oder $_1 wären zulässig, aber nicht $1.
rewboss ist offline   Mit Zitat antworten
Alt 22.03.2005, 13:33   #7
TP-Senior
 
Registriert seit: Oct 2003
Ort: NRW
SkaTeR macht alles soweit korrekt
??? Ist doch das was replaced wird, ist doch immer so.
SkaTeR ist offline   Mit Zitat antworten
Alt 22.03.2005, 13:39   #8
321
TP-Specialist
 
Benutzerbild von 321
 
Registriert seit: Nov 2004
Ort: Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
321 hilft, wo's geht321 hilft, wo's geht321 hilft, wo's geht
Zitat:
Zitat von rewboss
Was heißt $1 in deinem Code? So weit ich weiß, müssen Variable-Namen mit einem Buchstaben oder Unterstrich anfangen: $a1 oder $_1 wären zulässig, aber nicht $1.
$1 in reg. Ausdrücken enthält $1 die erste Übereinstimmung, die aus dem Ausdruck resultiert und kann weiterverwendet werden.
Bin selber Anfänger damit, genaueres von den Regex-Spezerln!
__________________
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]


use my HTML-Tester

Motto'06: Mut zur deutschen Sprache!
321 ist offline   Mit Zitat antworten
Alt 22.03.2005, 13:42   #9
TP-Supporter
 
Benutzerbild von Weede
 
Registriert seit: Jun 2004
Weede ist auf einem guten Weg
yo. mach aus der variable $_1 oder $a oder was auch immer, aber keine $1. und leg dir ein programm zu, was php-syntax versteht, dann würde er dir den fehler gleich anzeigen. total übersehen...
__________________
Ich bin bereit, meinem Schöpfer gegenüberzutreten.
Ob mein Schöpfer ebenso bereit ist, diese Begegnung über sich ergehen zu lassen, ist eine andere Sache.
Weede ist offline   Mit Zitat antworten
Alt 22.03.2005, 13:42   #10
TP-Moderator
 
Benutzerbild von skipperjan
 
Registriert seit: Jan 2005
Ort: Düsseldorf
skipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKE
Oder mal bei den guten Regenwürmern vorbei schauen.....

http://www.regenechsen.de

So long,

skip
__________________
Chenaski - Klamotten designed by Pete
USE - nicht immer nur mit Stars and Stripes rumlaufen!

Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....
skipperjan ist offline   Mit Zitat antworten
Alt 22.03.2005, 14:29   #11
TP-Specialist
 
Benutzerbild von rewboss
 
Registriert seit: Mar 2005
Ort: Unterfranken
rewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKErewboss ist ein richtiges Arbeitstier - DANKE
Zitat:
Zitat von 321
$1 in reg. Ausdrücken enthält $1 die erste Übereinstimmung, die aus dem Ausdruck resultiert und kann weiterverwendet werden.
Hmm. Hab fast nie mit RegEx gearbeitet, aber ich sehe schon: ich brauch neue Literatur. Bei Perl Compatible Regular Expressions heißt es etwa, "Back-references" werden mit \\ eingeleitet -- also, \\1, \\2 usw. $ dagegen ist das Ende des Strings. Bei POSIX genau so.

EDIT --

Hmm. Ich glaube, ich habe dich etwas falsch verstanden. Ich hole mir noch einen Kaffee...

Geändert von rewboss (22.03.2005 um 14:32 Uhr).
rewboss ist offline   Mit Zitat antworten
Alt 22.03.2005, 14:34   #12
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Da das Replace-Statement Logik/PHP-Code enthällt musst du mit dem e-Modifikator in der preg_replace-Funktion arbeiten -> http://de3.php.net/manual/de/referen....modifiers.php
Gruss
Jan

PS: Was über die Referenzierung und wie man diese Variablen nutzt findet man auch hier: http://de3.php.net/manual/de/function.preg-replace.php
Stuck Mojo ist offline   Mit Zitat antworten
Alt 22.03.2005, 14:55   #13
TP-Senior
 
Registriert seit: Oct 2003
Ort: NRW
SkaTeR macht alles soweit korrekt
Ohne die Funktion den Link zu kürzen, geht es ja, das war nicht das Problem. Meine Frage ist halt, wie baue ich sowas in die preg_replace vernünftig ein?
SkaTeR ist offline   Mit Zitat antworten
Alt 22.03.2005, 15:07   #14
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Hast Du die Antwort von Jan nicht gelesen ?????
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 22.03.2005, 15:20   #15
TP-Senior
 
Registriert seit: Oct 2003
Ort: NRW
SkaTeR macht alles soweit korrekt
http://validator.w3.org/check?uri=ht...7%23post475207

Es soll einfach genau diesen Effeckt haben.
SkaTeR ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Problem mit bedingtem Ausdruck Problem mit bedingtem Ausdruck
« Hilfe! Hab ein PHP-Problem! (Formmailer) | fehlermeldung bei configuration »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:53 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67