2011-09-24 9 views
7

quiero borrar todas las ocurrencias de esta subcadena de mi archivo html:str_replace no trabajar

<span style="font-size: 12pt;">BLANK PAGE</span> 

Probé str_replace, pensando que sería una solución simple, pero no funciona:

$html = str_replace('<span style="font-size: 12pt;">BLANK PAGE</span>', '', $html); 

¿Alguna sugerencia?

ACTUALIZACIÓN: Misterio resuelto! Gracias a todos por hacerme saber que este debería funcionar. ¡Resulta que el problema no tiene nada que ver con str_replace! Había agarrado la cuerda html de firebug, sin darme cuenta de que Firebug inserta espacios para "embellecer" el html. Es por eso que str_replace no pudo encontrar este patrón exacto. Quisiera idealmente eliminar esta pregunta, ya que el problema no tuvo nada que ver con str_replace. ¿Es eso posible?

+1

Funciona (ver [aquí] (http://ideone.com/tayIU)). ¿Puedes publicar un [SSCCE] (http://pscode.org/sscce.html)? – Howard

+0

Supongo que este HTML se está escribiendo de nuevo en el archivo original? –

+0

@Doug: Sí, estoy escribiendo el HTML de nuevo en el archivo original. – moondog

Respuesta

13

str_replace() devuelve la nueva versión - es necesario asignar de nuevo a la variable (o una nueva variable):

$myhtml = str_replace('<span style="font-size: 12pt;">BLANK PAGE</span>', '', $myhtml); 
+0

Lo siento, debería haber sido más claro. Sí, eso es lo que intenté. Ahora aclararé la publicación original. – moondog

-2

no se puede reemplazar las etiquetas HTML usando str_replace. Reemplaza las ocurrencias exactas solamente. Si lo desea, reemplace el texto span "strip_tags" para eliminar todas las etiquetas y cambie el texto del span utilizando str_replace.

+0

¿Qué es inexacto sobre las etiquetas HTML? –

4

Debería funcionar de esa manera. ¿Olvidaste quizás asignar el resultado a tu variable?

$myhtml = str_replace('<span style="font-size: 12pt;">BLANK PAGE</span>', '', $myhtml); 
0

mi problema era que yo estaba usando de str_replace para reemplazar caracteres especiales como (a, e, i, o, u) y no funcionó. intenté usar notepad ++ y cambié el archivo enconding a utf8-sin BOM, subí el archivo al servidor y ¡funcionó!