- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用这个很棒的插件:https://github.com/maranomynet/linkify/blob/master/1.0/jquery.linkify-1.0.js
链接文本操作 dom。问题出在这样的链接上:http://en.wikipedia.org/wiki/The_Godfather_(novel )
链接为“http://en.wikipedia.org/wiki/The_Godfather_(小说”
我可以在 linkify 代码中更改什么来处理括号等?
谢谢!
PS:嘿,Stackoverflow 好像也可以用这个!哈哈;)
编辑:
我刚刚看到了 DaringFireball 上的帖子,它运行得很好...问题在于像 www.google.com 这样的简单 URL(我认为这与“noProtocolUrl”的第一个正则表达式有关。这就是我的问题)现在就得到了:
var noProtocolUrl = /(^|["'(\s]|<)(www\..+?\..+?)((?:[:?]|\.+)?(?:\s|$)|>|[)"',])/g,
httpOrMailtoUrl = /\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:(?:[^\s()<>.]+[.]?)+|\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\))+(?:\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,
linkifier = function (html) {
return FormatLink(html
.replace(noProtocolUrl, '$1<a href="<``>://$2" rel="nofollow external" class="external_link">$2</a>$3') // NOTE: we escape `"http` as `"<``>` to make sure `httpOrMailtoUrl` below doesn't find it as a false-positive
.replace(httpOrMailtoUrl, '<a href="$1" rel="nofollow external" class="external_link">$1</a>')
.replace(/"<``>/g, '"http')); // reinsert `"http`
},
通过“www.facebook.com”,我得到了这个(rel和class属性就像链接旁边的文本一样:
www.facebook.com" rel="nofollow external" class="external_link">www.facebook.com
最佳答案
据我所知,the regex expression found here (最初由 John Gruber of Daring Fireball 创建,由 naren1012 修改)似乎可以解决问题。
要实现,请替换以下代码:
var noProtocolUrl = /(^|["'(\s]|<)(www\..+?\..+?)((?:[:?]|\.+)?(?:\s|$)|>|[)"',])/g,
httpOrMailtoUrl = /(^|["'(\s]|<)((?:(?:https?|ftp):\/\/|mailto:).+?)((?:[:?]|\.+)?(?:\s|$)|>|[)"',])/g,
linkifier = function ( html ) {
return html
.replace( noProtocolUrl, '$1<a href="<``>://$2">$2</a>$3' ) // NOTE: we escape `"http` as `"<``>` to make sure `httpOrMailtoUrl` below doesn't find it as a false-positive
.replace( httpOrMailtoUrl, '$1<a href="$2">$2</a>$3' )
.replace( /"<``>/g, '"http' ); // reinsert `"http`
},
使用此代码:
var noProtocolUrl = /(^|["'(\s]|<)(www\..+?\..+?)((?:[:?]|\.+)?(?:\s|$)|>|[)"',])/g,
httpOrMailtoUrl = /\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:(?:[^\s()<>.]+[.]?)+|\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\))+(?:\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»����]))/gi,
linkifier = function ( html ) {
return html
.replace( noProtocolUrl, '$1<a href="<``>://$2">$2</a>$3' ) // NOTE: we escape `"http` as `"<``>` to make sure `httpOrMailtoUrl` below doesn't find it as a false-positive
.replace(httpOrMailtoUrl, '<a href="$1">$1</a>')
.replace( /"<``>/g, '"http' ); // reinsert `"http`
},
关于jQuery Linkify 插件 : Can't handle links that end in parenthesis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5858851/
我一直在尝试匹配以下字符串: string = "TEMPLATES = ( ('index.html', 'home'), ('base.html', 'base'))" 但不幸的是我对正则表达式的
CREATE TABLE customer(customer_id NUMBER(6) PRIMARY KEY , customer_name VARCHAR2(40) NOT NULL , cust
这是我的 MySQL sql 查询: DROP DATABASE IF EXISTS java_proj; CREATE DATABASE java_proj DEFAULT CHARACTER SE
每当我输入 (、[ 或 { 时,Notepad++ 都会用相应的右括号完成它。我发现这个“功能”很烦人,想禁用它。它似乎没有列在“首选项”对话框中,并且搜索在线文档没有产生任何有用的结果。这里有人知道
我正在使用 Visual Studio 2013 并尝试编写预处理器宏,它将在编译时检查 VERSION 是否为有效的 BCD 数字: #define VERSION (uint8)0x01u #if
我是 python 的新手,所以我有一个字典,里面有一些键,还有一个字符串。如果字符串中存在在字典中找到的模式,我必须替换该字符串。字典和字符串都非常大。我正在使用正则表达式来查找模式。 一切正常,直
我看过IIFE的写法: (function() { console.log("do cool stuff"); })(); 还有: (function() { console.log(
这个问题在这里已经有了答案: What exactly does .(data_type) method called/do? (2 个回答) Is this casting in golang? (
在研究catalan numbers时,我遇到的一些应用程序是: 没有使用 n 个节点的可能的二叉搜索树。 没有任何方法可以使用圆上的 2*n 个点绘制不相交的弦。 没有办法安排 n 对括号。 虽然我
我正在使用 10g,并尝试进行一些简单的计算,然后将结果保存在列中。实际的表有更多的列,但这是我在查询中使用的: CREATE TABLE "VACCINE_LOT" ( "VACCINE_LOT
在where语句中,添加不必要的括号( )会影响SQL性能吗? 例子: SELECT * FROM table WHERE (name='John') AND (age='30') AND (ad
我正在尝试运行如下查询: MATCH (n:Type1)-[:relation1]->(:Type1)(:Type1)(:Type1)(:Type1)<-[:relation2]-(:Type2) W
我了解 ORA-00907 表示我的代码中存在语法错误,我只是找不到它。有人可以帮忙指出问题吗?我正在使用 SQL Developer (Oracle12c)。 CREATE TABLE equip
我已经阅读了其他缺少右括号的问题,但没有找到我的问题的答案。我认为这是一个语法错误,在结束之前切断了一切(我不是一个真正的 Oracle 人),但我不知道它在哪里。该查询应该提取客户 ID 以及该客户
我正在尝试理解传递给我的一些 Fortran 代码。这是子例程中的参数列表: INTEGER, INTENT(IN) :: NKT REAL, INTENT(IN) :: NW2(NKT), V
我有以下查询,但出现错误: 错误:缺少“右括号”。 SELECT geomfromtext('polygon(('CONCAT(GROUP_CONCAT(a.latitude ,' ', a.long
快要拔掉我的头发了。在 Frankie 下出现错误,说我“缺少右括号”。见下文: INSERT INTO storelocals (id, name, address, lat, lng) value
这个问题已经有答案了: PostgreSQL Sort (4 个回答) 已关闭 9 年前。 我刚刚在 PostgreSQL 中发现了一些非常奇怪的东西。假设我们有一列“name”,其值类似于 bbb
在日志文件中,我在每一行上都有以下格式: [date] [thread] [loglevel] [class] some text describing the event that happened
我正在尝试运行一个查询,将四舍五入的平均值显示到小数点后两位。这是我的代码,我不知道为什么我一直收到错误。 SELECT ROUND(AVG (Scholarship, 2)) AS 'Ave
我是一名优秀的程序员,十分优秀!