Cita:
Iniciado por apañero no sé qué hago mal pero no me funciona, no da error pero parece que no reemplaza:
Código:
$n=1;
while($Res = mysql_fetch_array($result)){
if($Res["web"]!=""){
$Grupo = $Res["G_Nombre"];
$Grupos[$n] = '/\b($Grupo)\b/is';
$web = $Res["web"];
$webs[$n] = '<a target="_blank" href="$web">$Grupo</a>';
$n++;
}
}
$content=preg_replace($Grupos, $webs, $content);
El Problema son las comillas simples.. debes ponerlo con comillas dobles para que php te interprete el contenido... en este caso necesitamos que me interperete la variable $Grupo si pones comillas simples, lo que esta dntro no sera interpretado...
debe quedar asi
Código PHP:
$Grupos[$n] = "/\b($Grupo)\b/is";
Código PHP:
$webs[$n] = "<a target='_blank' href='$web'>$1</a>";
utiliza $1 en vez $grupo en
Código PHP:
"<a target='_blank' href='$web'>$Grupo</a>";
asi
Código PHP:
"<a target='_blank' href='$web'>$1</a>";
ya que si quieres buscar una palabra y la encuentras en mayusculas .. debes dejarla en mayusculas ..o sea como esta pero con link ($1) de lo contrario (como lo tienes tu en estos momentos) cambiara la palabra lo cual no quieres ...solo queremos ponerle el link
ejemplo
"Grupo ABC lanza su nuevo disco"
y quiero autolinkear ABC pero yo tengo definido en mi BD "
abc" (minusculas) con el link "
http://www.abc.cl"
como lo tienes tu te quedaria con minusculas ..
"Grupo
abc lanza su nuevo disco";
pero si pones $1 te quedará igual como el original pero con link
"Grupo
ABC lanza su nuevo disco";
hechale un vistazo a esto
================================================== ==============
Las comillas simples muestran el contenido tal y como lo hemos escrito.
Las comillas dobles parsean nuestra cadena en busca de posibles variables a interpretar por PHP.
FAQ del echo http://www.webtaller.com/construccio.../faqecho-4.php