Ich möchte JCaption aus der Datei head, jquery und jcaption löschen , die ich mit folgenden Methoden deaktiviert habe:
unset($doc->_scripts[JURI::root(true) . '/media/jui/js/jquery.min.js']);
unset($doc->_scripts[JURI::root(true) . '/media/jui/js/jquery-noconflict.js']);
unset($doc->_scripts[JURI::root(true) . '/media/jui/js/jquery-migrate.min.js']);
unset($doc->_scripts[JURI::root(true) . '/media/system/js/caption.js']);
Um jcaption in früheren Versionen zu löschen, in denen mootools verwendet wird, ist Folgendes erforderlich:
$this->_script = preg_replace('%window\.addEvent\(\'load\',\s*function\(\)\s*{\s*new\s*JCaption\(\'img.caption\'\);\s*}\);\s*%', '', $this->_script);
Ich habe auch versucht, es auf jquery zu löschen, aber ich habe keine Erfahrung mit preg_replace () . Was tun, um JCatpion aus dem Kopf zu löschen?
Mein Code:
$this->_script = preg_replace('%jQuery\(window\)\.on(\'load\',\s*function\(\)\s*{\s*new\s*JCaption\(\'img.caption\');\s*}\);\s*%', '', $this->_script);
Versuche dies:
quelle
Versuche dies:
quelle
Wenn Sie bereit sind, ein Plugin zu verwenden, um das injizierte Skript-Tag zu deaktivieren, kann Folgendes hilfreich sein.
quelle
strstr()
weniger effizient ist alsstrpos()
bei der Überprüfung des Vorhandenseins eines Teilstrings in einem String, diese Aufgabe muss auch nicht nach einem Teilstring suchen - es$key
ist die vollständige String-Übereinstimmung.