includes.con_editcontent.php wo dieses cString::iReplaceOnceReverse
eingesetzt wird den fall, dass der code der vor </body> gesetzt werden soll folgendes generiert hat
Code: Alles auswählen
</bo<form name="editcontent" method="post" action="https://XXX.XXX.XX/contenido/external/backendedit/front_content.php?contenido=15f39f1a876b7ed255eb3472ff1939e6&area=con_editcontent&idart=327&idcat=8&lang=1&client=1"><input name="action" type="hidden" value="20"><input name="changeview" type="hidden" value="edit"><input name="idArtLangVersion" type="hidden" value=""><input name="copyTo" type="hidden" value=""><input name="data" type="hidden" value=""></form>
</body>tml>
wenn das eintritt kann man nicht in den tiny wechseln oder speichern... eh cool...
aber wenn ich mir die beiden funktionen der klasse ansehe stimmt irgendwas daran nicht...
Code: Alles auswählen
$code = cString::iReplaceOnceReverse("</body>", "$contentForms</body>", $code);
Code: Alles auswählen
public static function iReplaceOnceReverse($find, $replace, $subject) {
$start = self::posReverse(parent::toLowerCase($subject), parent::toLowerCase($find));
if ($start === false) {
return $subject;
}
$end = $start + parent::getStringLength($find);
$first = parent::getPartOfString($subject, 0, $start);
$last = parent::getPartOfString($subject, $end, parent::getStringLength($subject) - $end);
$result = $first . $replace . $last;
return $result;
}
public static function posReverse($haystack, $needle, $start = 0) {
$tempPos = parent::findFirstPos($haystack, $needle, $start);
if ($tempPos === false) {
if ($start == 0) {
// Needle not in string at all
return false;
} else {
// No more occurances found
return $start - parent::getStringLength($needle);
}
} else {
// Find the next occurance
return self::posReverse($haystack, $needle, $tempPos + parent::getStringLength($needle));
}
}
Code: Alles auswählen
$code = cString::iReplaceOnce("</body>", "$contentForms</body>", $code);
Code: Alles auswählen
public static function iReplaceOnce($find, $replace, $subject) {
$start = parent::findFirstPos(parent::toLowerCase($subject), parent::toLowerCase($find));
if ($start === false) {
return $subject;
}
$end = $start + parent::getStringLength($find);
$first = parent::getPartOfString($subject, 0, $start);
$last = parent::getPartOfString($subject, $end, parent::getStringLength($subject) - $end);
$result = $first . $replace . $last;
return $result;
}