Sé que esto es una vieja pregunta, pero me encontré con este post en busca de una solución para la creación de hipervínculos usando CSS y terminó haciendo mi propia, podría ser de interés para alguien tropezarse con esta pregunta como lo hice:
Aquí es una función php llamado 'enlazador();' que permite un atributo CSS falsa
conectar: 'url.com';
de un artículo #id definido. simplemente dejar que la llamada php presente en cada artículo de HTML que considere dignos de enlace. las entradas son el archivo .css como una cadena, usando:
$ style_cont = file_get_contents ($ style_path);
y el id del elemento correspondiente. Aquí está todo el asunto:
function linker($style_cont, $id_html){
if (strpos($style_cont,'connect:') !== false) {
$url;
$id_final;
$id_outer = '#'.$id_html;
$id_loc = strpos($style_cont,$id_outer);
$connect_loc = strpos($style_cont,'connect:', $id_loc);
$next_single_quote = stripos($style_cont,"'", $connect_loc);
$next_double_quote = stripos($style_cont,'"', $connect_loc);
if($connect_loc < $next_single_quote)
{
$link_start = $next_single_quote +1;
$last_single_quote = stripos($style_cont, "'", $link_start);
$link_end = $last_single_quote;
$link_size = $link_end - $link_start;
$url = substr($style_cont, $link_start, $link_size);
}
else
{
$link_start = $next_double_quote +1;
$last_double_quote = stripos($style_cont, '"', $link_start);
$link_end = $last_double_quote;
$link_size = $link_end - $link_start;
$url = substr($style_cont, $link_start, $link_size); //link!
}
$connect_loc_rev = (strlen($style_cont) - $connect_loc) * -1;
$id_start = strrpos($style_cont, '#', $connect_loc_rev);
$id_end = strpos($style_cont,'{', $id_start);
$id_size = $id_end - $id_start;
$id_raw = substr($style_cont, $id_start, $id_size);
$id_clean = rtrim($id_raw); //id!
if (strpos($url,'http://') !== false)
{
$url_clean = $url;
}
else
{
$url_clean = 'http://'.$url;
};
if($id_clean[0] == '#')
{
$id_final = $id_clean;
if($id_outer == $id_final)
{
echo '<a href="';
echo $url_clean;
echo '" target="_blank">';
};
};
};
};
esto probablemente podría mejorarse/acortados utilizando comandos como .Wrap() o GetElementByID() , ya que sólo genera la porción <a href='blah'>
, pero ver como desaparece </a>
todos modos sin una cláusula de apertura se todavía funciona si sólo añadirlos en todas partes: D
¿Qué quiere decir automáticamente? Tendrá que ejecutar alguna aplicación sobre su HTML que lo convertirá a los resultados deseados. – azamsharp