我通过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"> </span></div></li>');
答案 0 :(得分:0)
问题似乎是你在没有自己编写的情况下复制粘贴了一些正则表达式,因此无法理解它的作用。 :)
在这种特殊情况下,我认为它的目的是完全写出uri的唯一,而不是短篇的。
在此变体中,
(\b((:?https?|ftp|file):\/\/)?[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])
我已经将协议前缀设置为可选,因此它适用于您的bing.com示例。