Qnapper: Nach 5 x <p> JS Code einfügen.

Hallo,

ich überlege wie ich verschiedensten Texten (die ich per $content übergeben bekomme) nach dem 5ten <p> einen JS code einfügen kann.

Wie mache ich das am besten mit ReX aufteilen und dann per Foreach einen neuen Contentstring bauen?

  1. @@Qnapper

    ich überlege wie ich verschiedensten Texten (die ich per $content übergeben bekomme)

    Was ist $content?

    Wie mache ich das am besten mit ReX aufteilen

    Nein.

    😷 LLAP

    --
    „Sag mir, wie Du Deine Maske trägst, und ich sage Dir, ob Du ein Idiot bist.“ —@Ann_Waeltin
  2. Hallo Qnapper,

    brauchst Du eine Lösung für dein Detailproblem? Oder ist dein Ansatz das eigentliche Problem?

    Dafür müssten wir wissen, was Du eigentlich erreichen willst. Mit grundlegenden Stringoperationen in einem HTML-String herumzugraben ist jedenfalls meistens keine gute Idee, weil die HTML Struktur komplex ist und es viele Sonderfälle gibt, die eine stumpfe Suche nach </p> in die Irre führen.

    Dein Problem ist mutmaßlich mit DOMDocument und DOMXPath lösbar, aber auch da gibt's einige Quirks und Sonderfälle. Zum Beispiel, dass es kein "insertAfter" gibt, nur "insertBefore", d.h. wenn dein <p> letztes Kind eines <div> ist, musst Du von insert auf append wechseln. Und DOMDocument operiert nicht auf deinem HTML Text, sondern erzeugt ein echtes DOM und hantiert darauf herum. Dieses wird dann nachher wieder ein einen String konvertiert. Dein $content String ist also möglicherweise um mehr verändert worden als nur das Script.

    Bitte erkläre erstmal, warum zwingend hinter das fünfte <p> ein Script gestellt werden muss. Vielleich gibt es ja eine Lösung, die anders aufsetzt und die Manipulation des HTML Dokuments vermeidet.

    Rolf

    --
    sumpsi - posui - obstruxi