2016-07-26 9 views
1

Ich habe das JS To Title Case heruntergeladen, um es auf meiner Site zu installieren. Es setzt eine Textzeile wie eine Zeitung groß. ich es am Anfang der PHP-Datei aufrufen:Wenden Sie eine Funktion aus einer aufgerufenen JavaScript-Datei auf ein PHP-Echo an.

<script src="../../js/to-title-case.js"></script> 

Und ich will .toTitleCase(), um diese Zeichenfolge hinzuzufügen, so gilt es die JS auf den Titel:

<?php echo get_inspiry_custom_excerpt(get_the_title(), 7); ?> 

Das PHP ist Teil von:

<h4 class="entry-title"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php echo get_inspiry_custom_excerpt(get_the_title(), 7); ?></a></h4> 

Allerdings, wo immer ich es hinzufügen, die Seite bricht und lädt nicht.

Wie kann ich das tun?

+0

href = "" nicht müssen Sie die Zitate zu entkommen? –

+2

zeigen Sie, wie Sie es hinzugefügt haben ... Sie können PHP-Funktionen nicht von JS aufrufen, und PHP kann JS-Funktionen (direkt) nicht aufrufen. –

+0

Der JS-Ersteller sagt: "Fügen Sie JS einfach hinzu und fügen Sie .toTitleCase() zu der Zeichenfolge hinzu, die konvertiert werden soll." Also habe ich folgendes hinzugefügt:

Antwort

0

Was Marc B wahrscheinlich in den Kommentaren meinte: Wenn das kein Hybrid von nodejs + php ist, mischt man Dinge falsch.

PHP wird auf Serverseite ausgeführt und erstellt die HTML-Seite in Ihrem Fall. Diese Seite und referenzierte JavaScript wird dann clientseitig im Browser geladen. Die "toTitleCase()" Methode ist einfach nicht im Bereich der PHPs Ausführungsumgebung und die Autoren "... the string ..." beziehen sich auf JavaScript Strings und nicht auf PHP Strings.

Die Seite diese "lädt nicht" wegen PHP-Fehlern (die möglicherweise nicht angezeigt werden, wenn keine Fehlerberichterstattung eingestellt ist).

Eine Möglichkeit, Ihr Problem zu lösen, ist die Generierung von JS-Code über PHP, der beim Laden der Client-Seite ausgeführt wird. Es sollte wie die aussehen, get_inspiry_custom_excerpt vorausgesetzt und get_the_title sind echte PHP-Funktionen:

<h4 class="entry-title"> 
    <a href="<?php the_permalink(); ?>" rel="bookmark" id="custom_excerpt"> 
    <?php echo get_inspiry_custom_excerpt(get_the_title(), 7); ?> 
    </a> 
</h4> 
<script> 
    var element = document.getElementById('custom_excerpt'); 
    var text = element.innerText || element.textContent || ''; 
    element.innerHTML = text.toTitleCase(); 
</script> 

Dies kann weit von ideal sein, aber sollte zeigen, wie es gemacht werden kann.

+0

Danke Maka! Ich lerne PHP und JS und bin immer noch verwirrt. –

Verwandte Themen