Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JQuery和正则表达式解析文件名_Jquery_Regex_Parsing_Hyperlink_Filenames - Fatal编程技术网

使用JQuery和正则表达式解析文件名

使用JQuery和正则表达式解析文件名,jquery,regex,parsing,hyperlink,filenames,Jquery,Regex,Parsing,Hyperlink,Filenames,因此,我有几个链接: <a href="#">2k01</a> <a href="#">3a01</a> <a href="#">5a01</a> etc... 等 单击链接时,我希望在标记之间显示一组与文本关联的图像。我有一个包含所有图像的图像/文件夹,图像名称的格式为“some text_2k01_some text”、“some text_3a01_some text”等。我只想在单击的链接中显示包含文本的图像。

因此,我有几个链接:

<a href="#">2k01</a>
<a href="#">3a01</a>
<a href="#">5a01</a>
etc...

单击链接时,我希望在标记之间显示一组与文本关联的图像。我有一个包含所有图像的图像/文件夹,图像名称的格式为“some text_2k01_some text”、“some text_3a01_some text”等。我只想在单击的链接中显示包含文本的图像。我怀疑有一种使用JQuery和正则表达式的解决方案,但我一直没有找到。任何帮助都将不胜感激

不要为此使用正则表达式。您可以使用jQuery:

jQuery("a").click(function() {
   var linkText = jQuery(this).text();
   var filename = "sometext_" + linkText + "_sometext";
   ...
   ...code to display your images
   ...
});

我认为您可以在前面插入—作为
data-*
attribute—您想要获取的图像的名称,如下所示

<a href="#" data-image="folder/your-image-2k01.jpg">2k01</a>
<a href="#" data-image="folder/other-image-3a01.jpg">3a01</a>
<a href="#" data-image="folder/foobar-image-5a01.jpg">5a01</a>

因此js将是简单的

$(document).on('click', 'a[data-image]', function() {
   var $this = $(this),
       url   = $this.data('image'),
       img   = $('<img src="'+ url +'" />');

   $this.append(img);
})
$(文档)。在('click','a[data image]'上,函数(){
变量$this=$(this),
url=$this.data('image'),
img=$('');
$this.append(img);
})
而且您不会被文件名格式束缚得太强

$('a').on('click', function(){
     $('img').hide();
     $('img[src|="' + $(this).text() + '"]').show();
});

当您单击链接时,它将在图像源包含的页面上找到所有图像(这就是
=“code>所做的)链接中的任何文本并显示它们。还将首先隐藏所有图像,假设您只希望显示与单击的链接相关联的图像。

所有图像的“某些文本”始终相同?不,它会更改,这只是用作示例,可能有之前和之后的任何内容