MyBB.de Forum
find_replace_templatesets - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Entwicklung (https://www.mybb.de/forum/forum-74.html)
+--- Thema: find_replace_templatesets (/thread-37371.html)



find_replace_templatesets - Schnapsnase - 02.08.2020

Hallöle werte Community,

ich habe in einem Plugin folgendes Replacement geschrieben:
PHP-Code:
find_replace_templatesets(
    
"headerinclude",
    
"#".preg_quote('{$stylesheets}')."#i"
    
'<script type="text/javascript" src="{$mybb->asset_url}/jscripts/xyz.js"></script>{$stylesheets}'
    
);


Nun möchte ich aber (der Ordnung halber) vor {$stylesheets} einen Zeilenumbruch haben, sodass {$stylesheets} im Template in einer "eigenen" Zeile steht.
Habe mittels "\n" alles Erdenkliche getestet - ohne Erfolg.
Ich bekomm`s einfach nicht auf die Kette. Confused
Kann jemand helfen?

Danke im Voraus!


RE: find_replace_templatesets - StefanT - 02.08.2020

Es gibt einen wichtigen Unterschied zwischen einfachen (') und doppelten Anführungszeichen ("). Zwischen einfachen Anführungszeichen funktionieren weder Variablen noch maskierte Zeichen wie \n.
Siehe auch: https://www.php.net/manual/de/language.types.string.php#language.types.string.syntax.single (deine Frage ist dort auch im Beispiel enthalten)

So sollte es dann funktionieren:
PHP-Code:
"<script type=\"text/javascript\" src=\"{\$mybb->asset_url}/jscripts/xyz.js\"></script>\n{\$stylesheets}" 



RE: find_replace_templatesets - Schnapsnase - 02.08.2020

Jepp,
danke Stefan! Das funktioniert.
Ich muss zugeben, dass ich mit Anführungszeichen und Klammern immer meine Probleme habe.
Ob ich das wohl irgendwann lerne... Huh

Mein erster Ansatz war dieser - hat mich aber auch nicht zum Erfolg geführt:
PHP-Code:
'<script type="text/javascript" src="{$mybb->asset_url}/jscripts/xyz.js"></script>"\n"{$stylesheets}' 

Danke für die Unterstützung!!