Foros del Web » Programando para Internet » PHP »

cURL y regular expression - Problema

Estas en el tema de cURL y regular expression - Problema en el foro de PHP en Foros del Web. Hola, tengo 1 problema con esto digamos que de aqui (por poner 1 ejem)deseo sacar este texto: BLABLABLABLA...... Bien, pues deberia ir asi: Código PHP: ...
  #1 (permalink)  
Antiguo 21/06/2010, 08:00
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
cURL y regular expression - Problema

Hola, tengo 1 problema con esto digamos que de aqui (por poner 1 ejem)deseo sacar este texto: BLABLABLABLA......

Bien, pues deberia ir asi:

Código PHP:
<?php
$cURL 
curl_init();
$URL 'http://www.forosdelweb.com/f18/curl-regular-expression-problema-818261/';
curl_setopt($cURLCURLOPT_URL$URL);
curl_setopt($cURLCURLOPT_RETURNTRANSFER,1);
$URL_CODIGO curl_exec ($cURL);
curl_close ($cURL);
ereg("<b>(.*)</b>"$URL_CODIGO$ver);
echo 
$ver;
?>
y si lo hago asi lo que me responde no es el contenido, me saca este texto: Array

espero que me puedan ayudar
  #2 (permalink)  
Antiguo 21/06/2010, 08:04
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: cURL y regular expression - Problema

Primero no debes usar ereg, para ello usa los que comienzan con preg y segundo si te saca un contenido que dice array es porque te está retornando en array la información y debes tratarlo como tal. Haz un var_dump a la variable $ver para que veas todo su contenido.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 21/06/2010, 08:06
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: cURL y regular expression - Problema

me da NULL

EDITO: Bueno, he cambiado de echo ha print_r, y he usado: el ar_dump, y me ha dado:

Cita:
array(2) { [0]=> string(58) "" [1]=> string(43) " contenido...." } Array ( [0] => [1] => contenido....... )

Última edición por Most; 21/06/2010 a las 08:17
  #4 (permalink)  
Antiguo 21/06/2010, 08:23
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: cURL y regular expression - Problema

bien, ahora he usado lo del pre y me muestra:
Cita:
Array
(
[0] =>
[1] => Contenido.....
)
  #5 (permalink)  
Antiguo 21/06/2010, 08:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: cURL y regular expression - Problema

Ya vez lo que tiene el array solo tienes que manejarte en algún bucle como por ejemplo foreach o con las funciones de array.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 21/06/2010, 08:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: cURL y regular expression - Problema

Como ya te dijo abimaelrc, usa las funciones preg_* estas usan expresiones regulares y tienen otras firmas por las que tienes que ver en el manual como pasarle los datos.

Saludos.
  #7 (permalink)  
Antiguo 21/06/2010, 08:30
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: cURL y regular expression - Problema

asi?:

Código PHP:
Ver original
  1. foreach ($ver as $valor) {
  2.    echo "Valor: $valor<br>";
  3. }
  #8 (permalink)  
Antiguo 21/06/2010, 08:32
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: cURL y regular expression - Problema

GatorV y cual de esos preg_* debo usar?, puedes mandarme 1 URL para verlas? y decirme + o - cual es, la que recoge, lee, por que eso de preg_ lo desconocia...
  #9 (permalink)  
Antiguo 21/06/2010, 09:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: cURL y regular expression - Problema

Cita:
Iniciado por Most Ver Mensaje
GatorV y cual de esos preg_* debo usar?, puedes mandarme 1 URL para verlas? y decirme + o - cual es, la que recoge, lee, por que eso de preg_ lo desconocia...
por favor, lee lo siguiente:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 21/06/2010, 11:08
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: cURL y regular expression - Problema

Cita:
Iniciado por pateketrueke Ver Mensaje
si ya lo he visto antes pero no me enterado de nada, ya que no entiendo para que sirve....

que deberia ponerlo asi?:

Código PHP:
<?php
$cURL 
curl_init();
$URL 'http://www.forosdelweb.com/f18/curl-regular-expression-problema-818261/';
curl_setopt($cURLCURLOPT_URL$URL);
curl_setopt($cURLCURLOPT_RETURNTRANSFER,1);
$URL_CODIGO curl_exec ($cURL);
curl_close ($cURL);
preg_match("<b>(.*)</b>"$URL_CODIGO$matches);
echo 
$matches;
?>

Última edición por Most; 21/06/2010 a las 11:14
  #11 (permalink)  
Antiguo 21/06/2010, 11:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: cURL y regular expression - Problema

por favor, no solo tienes que ver el tema... los tienes que leer...

y si, mas-o-menos esta bien tu código... solo te faltan los delimitadores de la expresión...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 21/06/2010, 11:31
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: cURL y regular expression - Problema

entonces asi?:

Código PHP:
Ver original
  1. <?php
  2. $cURL = curl_init();
  3. $URL = 'http://www.forosdelweb.com/f18/curl-regular-expression-problema-818261/';
  4. curl_setopt($cURL, CURLOPT_URL, $URL);
  5. curl_setopt($cURL, CURLOPT_RETURNTRANSFER,1);
  6. $URL_CODIGO = curl_exec ($cURL);
  7. curl_close ($cURL);
  8. function recoger_texto($aqui?, $aqui?)
  9. {
  10. preg_match("<b>(.*)</b>", $URL_CODIGO, $matches);
  11. return true;
  12. }
  13. echo $matches;
  14. ?>
  #13 (permalink)  
Antiguo 21/06/2010, 11:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: cURL y regular expression - Problema

por favor, ¿quien te ha dicho que necesitas crear una función??

dije: que la expresión regular necesita delimitadores....

por favor, si es necesario vuelve a leer el tema, que está claro ahí lo que te menciono...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 21/06/2010, 11:34
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: cURL y regular expression - Problema

Te falta los delimitadores, te recomiendo, antes de que trates y pruebes que leas algún manual de expresiones regulares.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #15 (permalink)  
Antiguo 21/06/2010, 11:47
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: cURL y regular expression - Problema

Bueno, ya que he leido 1 aver si me enterado :

Código PHP:
<?php
$cURL 
curl_init();
$URL 'http://www.forosdelweb.com/f18/curl-regular-expression-problema-818261/';
curl_setopt($cURLCURLOPT_URL$URL);
curl_setopt($cURLCURLOPT_RETURNTRANSFER,1);
$URL_CODIGO curl_exec ($cURL);
curl_close ($cURL);
preg_match("/^<b>(.*)</b>$/"$URL_CODIGO$matches);
echo 
$matches;
?>
hay se supone que ya le he puesto los delimitadores, no?
  #16 (permalink)  
Antiguo 21/06/2010, 12:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: cURL y regular expression - Problema

si, pero ahora tu expresión es demasiado precisa... si sabes lo que hacen ^ y $ adelante!!

si no... por favor, no dejes de leer... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 21/06/2010, 12:17
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: cURL y regular expression - Problema

pues la verdad no se que leches significa el ^ y $, y eso que estoy leyendo esto: http://www.webtaller.com/construccio...s_en_php-2.php

se puede dejar solo /¿?

EDITO: Creo que no, x que me sale este error:
Cita:
Warning: preg_match() [function.preg-match]: Unknown modifier 't' in /homepages/18/d317375696/htdocs/prueba.php on line 16
  #18 (permalink)  
Antiguo 21/06/2010, 12:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: cURL y regular expression - Problema

mira, si lees con atención... si usas el delimitador dentro de la expresión, entonces también debes escaparlo...
Cita:
# MAL
/<foo></foo>/

# BIEN
/<foo><\/foo>/
ahora, se puede saber como lo estás haciendo??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 21/06/2010, 12:26
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: cURL y regular expression - Problema

asi lo estaba haciendo:

Cita:
preg_match("/<title>(.*)</title>/", $source_code, $matches);
Ahora asi:
Cita:
preg_match("/<title>(.*)<\/title>/", $source_code, $matches);
me ha dado: Array

ya estamos donde antes otra vez :S

lo tengo asi:
Cita:
// Mostrar el resultado
echo "<pre>$matches</pre>";
  #20 (permalink)  
Antiguo 21/06/2010, 13:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: cURL y regular expression - Problema

lo que sucede, es que no estás leyendo el manual otra ves...
http://php.net/preg_match

$matches es un array, entonces no puedes imprimirlo así... es normal que salga textualmente Array
Código PHP:
echo $matches// Array - MAL
var_dump($matches); // OK!!! 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #21 (permalink)  
Antiguo 21/06/2010, 17:39
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: cURL y regular expression - Problema

si asi sale:

Cita:
array(2) { [0]=> string(58) "" [1]=> string(43) " este es el contenido que se tiene que mostrar" }
y lo que quiero que salga solo es:

Cita:
este es el contenido que se tiene que mostrar
  #22 (permalink)  
Antiguo 21/06/2010, 18:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: cURL y regular expression - Problema

¿sabes trabajar con arrays??
http://php.net/array

por es muy simple, si el valor viene en el índice 1
Código PHP:
echo $matches[1]; 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #23 (permalink)  
Antiguo 22/06/2010, 01:35
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: cURL y regular expression - Problema

Ok, entendido, ahora, si quiero que por ejemplo a parte de BLABLABLA... me coja AAAAA.... osea 2 textos, como deberia de hacer?

Etiquetas: curl, expression, regular
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 15:27.