Foros del Web » Programando para Internet » PHP »

str_replace con algo mas complicao ayuda pliss

Estas en el tema de str_replace con algo mas complicao ayuda pliss en el foro de PHP en Foros del Web. Hola, bueno...lo que quiero hacer es que al leer de la BD esto por ejemplo: Código PHP: [ youtube ] awdawde4 [/ youtube ]  pues ...
  #1 (permalink)  
Antiguo 20/06/2009, 10:13
 
Fecha de Ingreso: marzo-2009
Ubicación: yokze
Mensajes: 177
Antigüedad: 15 años, 1 mes
Puntos: 3
Pregunta str_replace con algo mas complicao ayuda pliss

Hola, bueno...lo que quiero hacer es que al leer de la BD esto por ejemplo:
Código PHP:
[youtube]awdawde4[/youtube
pues como tienen pensado salga el video xD
pensé algo asi:
Código PHP:
str_replace("[youtube]*[/youtube]","<embed...",$eltexto); 
pero ya probé asi y no funciona, ademas de q me lo inventé xDD
antes cuando no sabia nada de php y tenia un smf me acuerdo de haberme metio en los archivos para los bbcodes estos y recuerdo q se hacia algo así pero en vez de poner el asterisco ponian como una variable rara con la que ademas asi luego la sustituian en lo q remplaza...

a ver si me ayyudan.

gracias y salu2
  #2 (permalink)  
Antiguo 20/06/2009, 10:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: str_replace con algo mas complicao ayuda pliss

De hecho lo tienes que hacer usando expresiones regulares y preg_replace.

Saludos.
  #3 (permalink)  
Antiguo 20/06/2009, 10:32
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: str_replace con algo mas complicao ayuda pliss

Eso lo haces con expresiones regulares.

Si no me equivoco sería algo así

Código PHP:
preg_replace("/\[youtube\](.*)\[\/youtube\]/is""<embed... >\\1</embed>"$subject); 
No recuerdo que sea así, pero quizá funcione xD...

Busca en google, generalmente hay mods para foros que te sirven. Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #4 (permalink)  
Antiguo 20/06/2009, 10:34
 
Fecha de Ingreso: marzo-2009
Ubicación: yokze
Mensajes: 177
Antigüedad: 15 años, 1 mes
Puntos: 3
mmm, gracias, a ver si me sale.
Tambien pensé una forma que no necesitaba el preg_replace, sino usar
strrpos, para buscar donde esta la etiketa y por consecuencia el id.
con eso sako el id, y luego sabiendo la posicion hago un replace...NO?

Gracias a los 2, aún no probé porque me puse a ver ejemplos del preg_replace..y ya se perfe como es :P

la de cosas q se aprenden con un ejemplo xD:
<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
?>

The above example will output:

April1,2003

ademas de entender como va to esto, tb me ha resulto muxas rayadas q con esto se acaban: ${1}1 xDD

salu2

Ya lo consegui :D
Código PHP:
function videos($texto) {
$buscar '/\[ytb\](.*)\[\/ytb\]/';
$remplazo '<embed src="http://www.youtube.com/v/${1}&hl=es&fs=1&color1=0x2b405b&color2=0x6b8ab6&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"></embed>';
$final=preg_replace($buscar$remplazo$texto);
return 
$final
En tu ejemplo, spider_boy y en los de php.net en el pattern para que poneis despues de la barra, tu un "is" y en el ejemplo q yo puse una "i"

salu2

Última edición por GatorV; 21/06/2009 a las 10:07
  #5 (permalink)  
Antiguo 21/06/2009, 09:52
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: str_replace con algo mas complicao ayuda pliss

Cita:
Iniciado por manumar Ver Mensaje
Ya lo consegui :D
En tu ejemplo, spider_boy y en los de php.net en el pattern para que poneis despues de la barra, tu un "is" y en el ejemplo q yo puse una "i"

salu2
La i es para que no distinga entre mayúsculas y minúsculas, y la s no lo tengo muy claro, pero la uso por costumbre

Aquí lo tienes más detallado.

http://cl2.php.net/manual/es/referen....modifiers.php

Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
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 18:23.