Comment puis-je obtenir php pour afficher cela correctement (avec html-iframe fonctionnel)? Cela ne fonctionne pas car le guillemet simple est déjà utilisé mais le guillemet double est également utilisé.

echo "<p data-toggle='popover' title='word' data-html='true' data-content='<iframe src='https://www.somelink.com'></iframe>'>";

(echo est php, data-toggle etc sont bootstrap, data-content définit ce qu'il y a à l'intérieur d'un popover)

0
E. Opel 20 avril 2017 à 17:32

3 réponses

Meilleure réponse

Essayez de bandeslashing votre chaîne.

echo "<p data-toggle='popover' title='word' data-html='true' data-content='<iframe src=\"https://www.somelink.com\"></iframe>'>";

Plus d'informations sur les striplashes: http://php.net/manual/en/function.stripslashes .php

2
Mojo Allmighty 20 avril 2017 à 14:34

Si vous utilisez le contenu des données à des fins JS, je ne stockerais que l'URL et non une balise Iframe complète. De cette façon, vous pouvez utiliser des guillemets simples et tout conserver avec les doubles qoutes appropriées:

echo '<p data-toggle="popover" title="word" data-html="true" data-content="https://www.somelink.com">';

Puis dans votre js, créez simplement une iframe, assignez l'URL à sa source et ajoutez-la.

Il semble être une mauvaise pratique d'avoir un balisage complet dans un attribut de données et cela vous permet de garder un code plus propre en termes de citations.

1
Corey Young 20 avril 2017 à 14:40

Pensez à échapper les doubles guillemets qui entourent votre src attribut à l'aide de barres obliques inverses \":

echo "<p data-toggle='popover' title='word' data-html='true' data-content='<iframe src=\"https://www.somelink.com\"></iframe>'>";
2
Rion Williams 20 avril 2017 à 14:34