2012-09-11 10 views
5

Estoy trabajando con un sitio que se basa en algún sistema de plantillas personalizado. Digamos que en una plantilla que puede utilizar la etiqueta [custom_text], que dará salida a todo el bloque de html como éste, que se define a través de editor de texto enriquecido de la CMS:Bloque de texto con ambos tipos de comillas como una cadena

<b>Lorem ipsum dolor</b> sit amet, "consectetur adipisicing elit"<br /><br /> 
<b>sed doeiusmod</b> tempor incididunt ut's labore et dolore magna's aliqua. 

Tenga en cuenta que contiene los dos tipos de cotizaciones en eso. No soy capaz de preprocesar nada que salga del sistema de creación de plantillas que no sea la salida a la página, ya que el CMS con sistema de plantillas está codificado.

Ahora realmente necesito manipular ese bloque, por ejemplo para eliminar todos los saltos de línea del código. Puedo usar php en la página, pero no puedo definir una cadena que contenga ese bloque de código. Si lo hago de cualquier manera:

$string = "[custom_text]"; 
$string = '[custom_text]'; 

las comillas en el bloque vendrán en el camino, poniendo fin a la cadena de forma prematura. ¿Hay alguna forma obvia de manejar este problema?

+1

'addslashes()' no está ayudando? – hjpotter92

+0

Ver http://stackoverflow.com/questions/5611468/is-there-a-php-function-that-only-adds-slashes-to-double-quotes-not-single-quote –

Respuesta

3

no sé por qué no lo he hecho Pensé en esto antes, pero simplemente puedo usar la sintaxis heredoc.

$string = <<<EOT 
[custom_text] 
EOT; 

resolverán el caso.

+0

? Buena respuesta su funcionamiento –

0

prueba este

<?php 
$string = "This string has 'single quotes'"; 
echo addcslashes($string, '"\\'); 
?> 

la salida será como a continuación

This string has 'single quotes' 

Esta respuesta desde este enlace

Click Here

+0

Esto hubiera funcionado, sin embargo el bloque de texto que necesito poner en la cadena ya tiene AMBOS tipos de comillas y no puedo preprocesarlo de ninguna manera antes de su salida. Si tuviera que utilizar comillas simples para definir la cadena, que terminaría de esta manera: $ cadena = 'Lorem ipsum dolor sit amet, "consectetur adipisicing elit"

doeiusmod SED tempor ut de incididunt labore et dolore magna's aliqua. '; Como puede ver, el apóstrofo en el bloque de texto cierra efectivamente la comilla simple de la definición de cadena. – prezes

+0

¿puedo saber de dónde sacaste la cadena –

Cuestiones relacionadas