Foros del Web » Programando para Internet » PHP »

problema con preg_replace_callback

Estas en el tema de problema con preg_replace_callback en el foro de PHP en Foros del Web. aca les muestro un ejemplo Código PHP: <? $a2 = "    <a href=http://holaaaa something=value>      <link href=' hola che!' boder> " ; function  change ( $aver ) { return  strtoupper ( $aver [ 0 ]); ...
  #1 (permalink)  
Antiguo 28/10/2006, 10:13
Avatar de ASCENDEDMASTERS  
Fecha de Ingreso: julio-2005
Ubicación: Pergamino, Buenos Aires
Mensajes: 302
Antigüedad: 18 años, 9 meses
Puntos: 1
problema con preg_replace_callback

aca les muestro un ejemplo
Código PHP:
<?

$a2
="    <a href=http://holaaaa something=value>      <link href=' hola che!' boder> ";

function 
change($aver)
{
return 
strtoupper($aver[0]);
}

echo 
preg_replace_callback("/[a]*/is","change",$a2); ?>
esto trabaja perfectamente, me pasa todas las a 'a' mayuscula (fue solo para ver que funciona).

pero este otro encuentra direcciones den los href y si estan sin comillas les pone doble comillas ("); teoricamente debería devolverme todo el string $a2 con algunos cambios, pero no parte de este como me hace.


Código PHP:
<?
$a2
="    <a href=http://holaaaa something=value>      <link href=' hola che!' boder> ";

function 
ech($aver)
{
    if(
$aver[1]{0}!='\'' && $aver[1]{0}!='"')
        
$av=str_replace($aver[1],'"'.$aver[1].'"',$aver[0]);
return 
$av;
}


$z2='/<\s*[a-z:-]+\s+.*?\s*href\s*=\s*(?:'.'([\'"`])(.*?)\\1|([^\s]+))[^>]*>/is';
echo 
preg_replace_callback($z2,"ech",$a2);
?>
este ultimo en vez de devolverme
Código:
    <a href="http://holaaaa" something=value>      <link href=' hola che!' boder>
me devuelve
Código:
<link href=' hola che!' boder>
porque?
__________________
Dios es la unica fuente de todo bien.
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 20:34.