在Javascript或PHP中查找并替换<a>标签 - php

我正在尝试获取执行JavaScript而不是href属性的链接。我已经在网上搜寻,可以使用几种不同的方法来接近,但没有雪茄。

转换示例如下所示:

<a href="http://example.com">Link 1</a>
<a href="http://www.yahoo.com" target="_blank" class="whatever">Link 2</a>

像这样:

<a href="#" onclick="OpenLink('http://example.com');return false;">Link 1</a>
<a href="#" onclick="OpenLink('http://www.yahoo.com');return false;">Link 2</a>

我尝试过的例子:

内容是动态的,因此我尝试用JQuery即时替换,但是它仍然执行href和Javascript。

    $("a[href*=.com]").live('click', function(event){
    event.preventDefault();
    var href=this.href;
    // Modifications of the Attributes don't work here to disable/change href
    openMe(href);
    return false;
    });

-I've also tried replace the links BEFORE the content is written to the page

$(input_content).find('a[href*=.com]').each(function(){
   var href = this.href;
   $(this).attr('href', 'javascript:openMe('+href+');');
   // AND
   $(this).closest('a').replaceWith("<a href='javascript:openMe("+href+");'>"+$(this).text()+"</a>");
});

-最后,我尝试了Linkify(),但这仅适用于文本url,并且使标签混乱:

函数Linkify(inputText){
var replaceText,replacePattern1,replacePattern2,replacePattern3;
//以http://,https://开头的网址
replacePattern1 = /(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&& @#\ /%=〜_ |“>])/ gim;
replaceText = inputText.replace(replacePattern1,'$ 1');
}

是否有人在Javascript / JQuery(或作为落后的PHP)中有任何建议?对于看似简单的事情,我只是无法弄清楚……

非常感谢advace

参考方案

$('a').each(function() {

  $(this).click(function() { OpenLink($(this).attr('href')); return false; });
  $(this).attr('href', '#');
});

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

PHP PDO组按列名称查询结果 - php

以下PDO查询返回以下结果:$db = new PDO('....'); $sth = $db->prepare('SELECT ...'); 结果如下: name curso ABC stack CDE stack FGH stack IJK stack LMN overflow OPQ overflow RS…

通过>和<运算符比较日期 - php

在我的所有php代码中,我都在UTC中存储日期和时间,但是我也在使用mysql存储日期时间(也在utc中)。大于和小于运算符会导致日期比较失败吗? $curdate=date('Y-m-d H:i:s'); if($start_datetime>$curdate) 参考方案 不。他们没有办法失败。为此,特意制作了MySQL日期格式。…

使用jquery计算<id>中的总图像 - php

我有一个div,里面有一些图像,例如<img src= etc我想计算该div中的图像总数。我也想使用PHP将这些图像ID保存到mysql中...谢谢 参考方案 要计算它们,您可以执行以下操作:alert($('#myDiv img').length); 要将所有id捕获到数组中,可以执行以下操作:var ids = []; $(&…

在单击时显示特定行的SQL数据 - php

我目前有2张桌子,顶部和底部。最上面的是我从SQL数据库调出的数据行。至于底部,数据来自与顶部表相同的数据库,但显示不同的字段。这些字段都在我的SQL数据库的同一行中。基本上,单击顶部表中的任何行,底部表将显示更多信息,这些信息也在SQL数据库的同一行内。我不确定如何显示特定行的数据,现在,当我单击顶部表中的任何行时,它将显示SQL中的所有行。表格代码:&l…