FIXED: Bei Textile "falsche" interne Links

Jede Art von Fehler die REDAXO betreffen.

Beitragvon Markus.Staab » 11. Dez 2007, 15:36

Hi zusammen,

kann noch jemand bestätigen, dass mit der Anpassung von Nicole das Problem nicht mehr auftritt?

Meiner Meinung nach müsste diese Lösung aber auch noch weiterhin fehlerhaft sein, da auf (.) ja auch eine Zahl trifft.. oder?

Müsste es nicht statt (.){1}, dann [^0-9]{1} heissen?

Viele Grüße,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon Markus.Staab » 11. Dez 2007, 19:46

Hi nochmal zusammen,

ich hab das ganze mal ein bisschen getestet und meiner Meinung nach, müsste das ganze so richtig sein:

Code: Alles auswählen
  function replaceLinks($content)
  {
    // -- preg match redaxo://[ARTICLEID]-[CLANG] --
    preg_match_all('@redaxo://([0-9]*)\-([0-9]*)([^0-9]|$)+/?@imU',$content,$matches,PREG_SET_ORDER);
    foreach($matches as $match)
    {
      if(empty($match)) continue;

      $url = rex_getURL($match[1], $match[2]);
      $content = str_replace($match[0],$url.$match[3],$content);
    }

    // -- preg match redaxo://[ARTICLEID] --
    preg_match_all('@redaxo://([0-9]*)([^0-9]|$)+/?@imU',$content,$matches,PREG_SET_ORDER);
    foreach($matches as $match)
    {
      if(empty($match)) continue;

      $url = rex_getURL($match[1], $this->clang);
      $content = str_replace($match[0],$url.$match[2],$content);
    }

    return $content;
  }


Bitte mal testen bei euch...

Wer sich mit RegEx auskennt, bitte mal drüber schauen.

Viele Grüße,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon n.ruediger » 11. Dez 2007, 22:50

Was gefällt dir an meiner Lösung nicht?
Benutzeravatar
n.ruediger
 
Beiträge: 418
Registriert: 21. Mär 2007, 11:25
Wohnort: Frankfurt (Oder)

Beitragvon Markus.Staab » 12. Dez 2007, 17:00

Hi Nicole,

schau mal hier
kills hat geschrieben:Meiner Meinung nach müsste diese Lösung aber auch noch weiterhin fehlerhaft sein, da auf (.) ja auch eine Zahl trifft.. oder?

Bist du anderer Meinung?

Ein Fehler ist auf jeden Fall noch drinn:
Das erste
Code: Alles auswählen
$content = str_replace($match[0],$url.$match[2],$content);

muss
Code: Alles auswählen
$content = str_replace($match[0],$url.$match[3],$content);

heissen, da $match[2] schon die clang ist.

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon n.ruediger » 12. Dez 2007, 18:20

Hallo Markus,

nein, der Ausdruck wird nicht auf eine Zahl treffen, da alle Zahlen vom vorhergehenden Ausdruck geparst werden. Man sollte dazu vielleicht auch betrachten, dass das Zeilenende als ein Zeichen angesehen wird...

Liebe Grüße,
Nicole
Benutzeravatar
n.ruediger
 
Beiträge: 418
Registriert: 21. Mär 2007, 11:25
Wohnort: Frankfurt (Oder)

Beitragvon Markus.Staab » 12. Dez 2007, 19:07

Hi Nicole,

alles klar, mit dem vorher genannten fix, gehts dann auch..

Ich check das jetzt mal ein.

Fix bitte testen:
[1]

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon Michael83 » 22. Aug 2008, 01:40

Hallo,

ich wollte nur kurz anmerken, dass das Problem in der aktuellen Version 4.1.0 weiterhin auftritt. Ich habe auch hier den Code von Nicole eingesetzt und es funktioniert wieder.
Gruß,
Michael
Benutzeravatar
Michael83
 
Beiträge: 189
Registriert: 22. Aug 2006, 15:59
Wohnort: Reichshof

Re: FIXED: Bei Textile "falsche" interne Links

Beitragvon Ingo » 10. Aug 2011, 21:17

Ich bin gerade über diesen Fehler gestolpert. Interne Links in Textile nach dem Schema "Link":redaxo://9 ergeben <a href="domain.tld/artikeslug/9">Link</a>. In einer aktuellen 4.3.2er Installation.
Nachdem ich den regulären Ausdruck von Nicole eingesetzt habe funktioniert es. Wie kann denn das nach 4 Jahren sein? Setzt denn sonst keiner interne Links? :mrgreen:
Ingo
 
Beiträge: 288
Registriert: 23. Jun 2010, 23:34

Re: FIXED: Bei Textile "falsche" interne Links

Beitragvon jeandeluxe » 11. Aug 2011, 01:29

Ingo hat geschrieben:Setzt denn sonst keiner interne Links? :mrgreen:

Zuhauf.., aber ohne probs ;-)

lg,
Jan
mark your solved threads [SOLVED]™ promotion tour.. | Redaxo API Docu | rexdev.de | "You start with some money.."
IT'S A MARATHON. NOT A SPRINT. UNLESS IT IS A SPRINT, THEN SPRINT!
Benutzeravatar
jeandeluxe
 
Beiträge: 1933
Registriert: 29. Sep 2005, 09:50
Wohnort: Hamburg

Vorherige

Zurück zu Bugs [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast