JSON href .append意外的标识符

时间:2013-10-14 19:28:00

标签: javascript html regex

我通过JSON从contentful.com中提取文本。在本文中,我有一个我想要点击的链接(www.google.com)。我用字符串正则表达式:

/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig,"<a    href='$1'>$1</a>"

它将www.google.com变为<a href='http://www.google.com'>http://www.google.com</a>。当我尝试通过jquery函数将其附加到ul时,我得到error: Unexpected identifier

关于如何解决此问题的任何想法?

编辑:

$.getJSON( "http://cdn.contentful.com/spaces/7la7mcq409gs/entries?\
access_token=",  function( data ) {

 $("#solutionsDiv ul").append('<li data-role="list-divider" role="heading" class="ui-li ui-li- divider ui-bar-b ui-corner-top ui-first-child">Featured Solutions</li>');

 for (i = 0; i < data.total; i++) {
 var replaced = data.items[i].fields.about;
 replaced = replaced.replace(/\r?\n/g, '<br />');
 replaced = replaced.replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-  9+&@#\/%=~_|])/ig,"<a href='$1'>$1</a>"); 

$("#solutionsDiv ul").append('<li data-theme="c" data-corners="false" data-shadow="false" data-iconshadow"true" data-wrapperels="div" data-icon="arrow-r" data-iconpos="right" class ="ui-btn ui-btn-icon-right ui-li-has-arrow ui-li ui-corner-bottom ui-li-last ui-li-static ui-last-child ui-btn-up-c"><div class = "ui-btn-inner ui-li ui-li-static ui-btn-up-c"><div class = "ui-btn-text"><a onClick = "newSolution(\'' +  data.items[i].fields.website + '\',\'' + replaced + '\',\'' + data.items[i].fields.slogan + '\',\'' + data.items[i].fields.productName + '\');" data-transition="slide" class="ui-link-inherit">' + data.items[i].fields.productName + '</a></div><span class="ui-icon ui-icon-arrow-r ui-icon-shadow">&nbsp;</span></div></li>');

1 个答案:

答案 0 :(得分:0)

问题似乎是你在没有自己编写的情况下复制粘贴了一些正则表达式,因此无法理解它的作用。 :)

在这种特殊情况下,我认为它的目的是完全写出uri的唯一,而不是短篇的。

在此变体中,

(\b((:?https?|ftp|file):\/\/)?[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])

我已经将协议前缀设置为可选,因此它适用于您的bing.com示例。