Foros del Web » Programando para Internet » PHP »

eliminar comillas simples

Estas en el tema de eliminar comillas simples en el foro de PHP en Foros del Web. Necesito eliminar comillas simples que estén dentro de unas comillas comillas simples y a la vez ambas dentro de una etiqueta style de html. pongo ...
  #1 (permalink)  
Antiguo 31/10/2018, 04:22
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 2 meses
Puntos: 10
eliminar comillas simples

Necesito eliminar comillas simples que estén dentro de unas comillas comillas simples y a la vez ambas dentro de una etiqueta style de html. pongo ejemplo para que se entienda.

<p style='font-size: 18pt; font-family: 'comic sans ms', sans-serif;'>ejemplo</p>
debería quedar así

<p style='font-size: 18pt; font-family: comic sans ms, sans-serif;'>ejemplo</p>

es sólo ejemplo estas comillas simples están siempre en una etiqueta style en font-size.

Última edición por azaz; 31/10/2018 a las 07:17
  #2 (permalink)  
Antiguo 31/10/2018, 10:09
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 17 años, 11 meses
Puntos: 120
Respuesta: eliminar comillas simples

tedoy solo la idea, mejor, trabaja con STYLOS, en CSS, pero supongo que es para un Scrapper o simular, en todo caso lo mejor es usar Expresiones REGULARES
puedes el

preg_replace_callback y asi obtienes la informacion que necesitas, y dentro lo vuelves a procesar y obtienes, lo segundo, ahora como mencionas que solo aparece esas comillas en un font-family, ya tienes una clave donde partir, entre mas especifica sea tu expresion regular, sera mucho mejor

http://es.php.net/preg_replace_callback

otra alternativa, es pero es mucho mas compleja es TOKENIZAR el codigo, y manualmente, hacer las decisiones, de que pasa si existe una comilla simple, ojo que es para usuarios muy avanzados, pero te dan resultados super preciso

te dejo un link si quieres curiosear sobre lo de "TOKENIZAR"
http://es.php.net/manual/es/function.token-get-all.php
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9
  #3 (permalink)  
Antiguo 31/10/2018, 10:46
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: eliminar comillas simples

me resulta difícil hacer una expresion regular para ese fin, comilla qur estén dentro de estilo font-family.
  #4 (permalink)  
Antiguo 01/11/2018, 07:34
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: eliminar comillas simples

Te ahorrarías un poco de problemas si usaras correctamente html

En html los atributos van con comillas dobles (") Si bien los exploradores aceptan las comillas simples (') y te muestran correctamente la web, por buenas prácticas debes usar dobles.

De hecho, el uso de dobles debe estar pensado para problemas como este.
  #5 (permalink)  
Antiguo 05/11/2018, 13:18
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: eliminar comillas simples

Cita:
Iniciado por alvaro_trewhela Ver Mensaje
Te ahorrarías un poco de problemas si usaras correctamente html

En html los atributos van con comillas dobles (") Si bien los exploradores aceptan las comillas simples (') y te muestran correctamente la web, por buenas prácticas debes usar dobles.

De hecho, el uso de dobles debe estar pensado para problemas como este.
Hola, gracias por responder a los dos, el problema de esto que comentas es que el texto es creado por los usuarios con un editor de texto y el html se crea de esa manera.

referente a lo que dijo tuadmin, ahi encontre la solucion, en la funcion preg_replace_callback, la posteo por si alguien ve algo mejor.


Código PHP:
Ver original
  1. $contenido="
  2. <p style='font-size: 18pt; font-family: 'comic sans ms', sans-serif;'>ejemplo</p>
  3. debería quedar así
  4.  
  5. <p style='font-size: 18pt; font-family: comic sans ms, sans-serif;'>ejemplo</p>
  6. ";
  7.  
  8. $ex="/font-family:(.+);/";
  9.         $ex,
  10.         function ($coincidencias) {
  11.             return str_replace("'","",$coincidencias[1]);
  12.         },
  13.         $contenido
  14.     );

en principio funciona, saludos

Última edición por azaz; 05/11/2018 a las 13:25

Etiquetas: comillas, html, simples
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:46.