Maison développement back-end tutoriel php PHP中的多行字符串传递给JavaScript的两种方法_PHP教程

PHP中的多行字符串传递给JavaScript的两种方法_PHP教程

Jul 13, 2016 am 10:24 AM
传递 chaîne multiligne

PHP和JavaScript都是初学。最近有这么个需求:

比方说有一个PHP的多行字符串:

$a = <<<EOF 
thy38 
csdn 
blog 
EOF;
Copier après la connexion

传递给JavaScript后要等价于:

var c='thy38\n\ 
csdn\n\ 
blog';
Copier après la connexion

因为对这两门语言的理解低到不知如何Google,只好自己摸索出方法两则:

1. 将PHP先转义,然后分割,然后转JSON,然后JavaScript parse,最后用\n拼接。

var b=JSON.parse(<&#63;php echo '\''.json_encode(explode("\r\n", $a)).'\''; &#63;>).join('\n'); 
alert(b==c); 
Copier après la connexion

2. 在页面上安排一个隐藏的input,然后先由php把值给它,然后JavaScript从它里面读,就实现了多行值的传递

<input type="hidden" id='testphp' value="<&#63;php echo $a&#63;>" /> 
var a=document.getElementById("testphp").value; 
var b=JSON.parse(<&#63;php echo '\''.json_encode(explode("\r\n", $a)).'\''; &#63;>).join('\n'); 
alert(a==b); 
alert(b==c); 
Copier après la connexion

PS: 以上方法是在跟一个PHP加JavaScript程序员同学的讨论中逐步得出的。
写完了文章回头再想想,其实这两个很绕的方法还是源于对PHP和JavaScript的多行字符串理解不透。
理解透了也就简单了,远不用这么复杂,直接字符串替换就行:

var d=<&#63;php echo '\''.str_replace("\r\n", "\\n\\\n", $a).'\''; &#63;>; 
alert(d==c);
Copier après la connexion

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/825410.htmlTechArticlePHP和JavaScript都是初学。最近有这么个需求: 比方说有一个PHP的多行字符串: $a = EOF thy38 csdn blog EOF; 传递给JavaScript后要等价于: var c='thy...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que sont les fichiers d'optimisation de la livraison dans Windows 11 et pouvez-vous les supprimer ? Que sont les fichiers d'optimisation de la livraison dans Windows 11 et pouvez-vous les supprimer ? Sep 29, 2023 pm 04:09 PM

L'optimisation de la livraison est une fonctionnalité qui permet à Windows Update et au Windows Store d'exécuter et de fournir des mises à jour plus rapidement. Les fichiers cache dans Delivery Optimization sont censés être supprimés après un certain temps, mais pour certains de nos lecteurs, ils continuent de s'accumuler et d'occuper de l'espace inutile. Est-il sécuritaire de supprimer les fichiers d’optimisation de la livraison ? Oui, il est possible de supprimer les fichiers d’optimisation de livraison en toute sécurité, et dans cet article, vous découvrirez à quel point il est facile de le faire sous Windows 11. Bien qu’il ne soit pas recommandé de supprimer manuellement les fichiers d’optimisation de diffusion, il est possible de le faire automatiquement. Comment supprimer les fichiers d’optimisation de livraison sur Windows 11 ? Cliquez sur la barre de recherche, tapez Nettoyage de disque et ouvrez l'outil à partir des résultats. Si vous disposez de plusieurs lecteurs, sélectionnez le lecteur avec votre système (généralement C :

Concaténation horizontale de chaînes multilignes en Python Concaténation horizontale de chaînes multilignes en Python Aug 27, 2023 pm 11:49 PM

En Python, la concaténation de chaînes est une opération courante qui vous permet de combiner deux ou plusieurs chaînes en une seule chaîne. Bien que la concaténation de chaînes verticalement (c'est-à-dire les unes en dessous des autres) soit simple, la concaténation de chaînes horizontalement (c'est-à-dire côte à côte) nécessite un traitement supplémentaire, en particulier lorsqu'il s'agit de chaînes multilignes. Dans cet article, nous explorerons différentes manières d'effectuer une concaténation latérale de chaînes multilignes en Python. Méthode 1 : Utilisation de l'opérateur + L'opérateur + peut être utilisé pour combiner deux chaînes ou plus en une seule chaîne.

Comment utiliser le contexte pour transmettre les paramètres de requête dans Go Comment utiliser le contexte pour transmettre les paramètres de requête dans Go Jul 22, 2023 pm 04:43 PM

Le package de contexte dans le langage Go est utilisé pour transmettre des informations contextuelles de requête dans le programme. Il peut transmettre des paramètres, intercepter des requêtes et annuler des opérations entre des fonctions sur plusieurs Goroutines. Pour utiliser le package de contexte dans Go, nous devons d'abord importer le package "context". Vous trouverez ci-dessous un exemple qui montre comment utiliser le package de contexte pour implémenter le passage des paramètres de requête. packagemainimport("contexte"

Comment résoudre l'erreur Vue : impossible d'utiliser des accessoires pour transmettre des données Comment résoudre l'erreur Vue : impossible d'utiliser des accessoires pour transmettre des données Aug 17, 2023 am 10:06 AM

Comment résoudre l'erreur Vue : Impossible d'utiliser des accessoires pour transmettre des données Préface : Pendant le processus de développement de Vue, il est très courant d'utiliser des accessoires pour transférer des données entre les composants parents et enfants. Cependant, nous pouvons parfois rencontrer un problème, c'est-à-dire qu'une erreur se produit lors de l'utilisation d'accessoires pour transmettre des données. Cet article se concentrera sur la façon de résoudre l'erreur selon laquelle les accessoires ne peuvent pas être utilisés pour transmettre des données dans Vue. Description du problème : dans le développement de Vue, lorsque nous utilisons des accessoires dans le composant parent pour transmettre des données au composant enfant, si

Messagerie en Java Messagerie en Java Aug 26, 2023 pm 10:13 PM

Introduction La transmission de messages est une méthode de transmission de communication entre des éléments ou des threads et constitue une idée fondamentale dans les systèmes distribués et la programmation parallèle. En fonction des besoins spécifiques de l'implémentation, le transfert de messages en Java peut être effectué via diverses méthodes et structures en utilisant le conteneur source d'alimentation java.util.concurrent, qui fournit une série d'interfaces et de bibliothèques de classes pour établir et gérer les threads en tant que verrous actifs. le mécanisme de synchronisation est une méthode unique en Java qui implémente la livraison de messages, tels que des instances. Par exemple, l'interface Executor peut être utilisée immédiatement pour exécuter des tâches, tandis que les connexions BlockingQueue peuvent être utilisées pour transmettre des instructions entre des processus simultanés. Ce qui précède est un organigramme de l’ensemble du processus de transmission des messages en Java. Type d'interfaceExecu

Comment passer des variables PHP par référence Comment passer des variables PHP par référence Aug 26, 2023 am 09:01 AM

En PHP, vous pouvez utiliser le symbole esperluette (&) pour transmettre des variables par référence plutôt que par valeur. Cela permet de modifier la variable d'origine dans une fonction ou une méthode. Il existe principalement deux manières de transmettre des variables PHP par référence : Utiliser le symbole esperluette Utiliser le symbole esperluette dans la déclaration de fonction/méthode Utiliser le symbole esperluette dans la déclaration de fonction/méthode Lors du passage de variables à la fonction/méthode En PHP, vous pouvez utiliser function/ Le symbole esperluette ( &) dans une déclaration de méthode, transmet les variables par référence. Voici l'explication mise à jour : Pour transmettre une variable de référence en utilisant le symbole & dans une déclaration de fonction/méthode, vous devez inclure le symbole & avant le nom du paramètre dans la définition de la fonction/méthode. Cela indique que les paramètres doivent être passés par référence, ce qui permet

Comment gérer les transactions distribuées et les problèmes de transmission de messages et leurs solutions dans le développement C# Comment gérer les transactions distribuées et les problèmes de transmission de messages et leurs solutions dans le développement C# Oct 10, 2023 am 11:42 AM

Comment gérer les transactions distribuées et les problèmes de transmission de messages dans le développement C#. Dans les systèmes distribués, les transactions distribuées et la transmission de messages sont des problèmes courants. Les transactions distribuées font référence à des transactions impliquant plusieurs bases de données ou services, tandis que la messagerie fait référence à une communication asynchrone entre différents composants du système. Cet article explique comment résoudre ces problèmes dans le développement C# et fournit des exemples de code spécifiques. 1. Problèmes et solutions des transactions distribuées Dans les transactions traditionnelles à nœud unique, la logique de traitement des transactions est encapsulée dans une opération de base de données. Cependant, en distribution

Comment utiliser le passage des paramètres de fonction dans Go ? Comment utiliser le passage des paramètres de fonction dans Go ? May 11, 2023 pm 05:00 PM

Go est un langage de programmation fortement typé et ses paramètres de fonction sont transmis par valeur. Cela signifie que lorsque vous transmettez un paramètre à une fonction, vous faites en fait une copie de la valeur du paramètre et transmettez cette valeur à la fonction pour traitement. Par conséquent, lorsque vous utilisez le passage de paramètres de fonction dans Go, vous devez faire attention aux points suivants : La différence entre les types valeur et les types référence Dans Go, à l'exception du type de données de base qui est un type valeur, tous les types de données sont des types référence. Lorsque les données de type valeur sont transmises en tant que paramètre de fonction, une copie de la valeur sera copiée et transmise à la fonction lors de la référence des données de type ;

See all articles