PHP:分别使用查询字符串匹配文本

时间:2017-10-04 06:21:34

标签: php jquery match echo href

我有以下一行:

<a href="page.php">Mt 5: 2</a>

我使用jquery代码来回显(匹配)> <括号之间的任何内容,并使链接如下:

<a href="page.php?q=Mt 5: 2">Mt 5: 2</a>

现在我需要链接如下:

<a href="page.php?book=Mt&chapter=5&vmin=2">Mt 5: 2</a>

我目前用来匹配所有代码的代码是:

$(document).ready(function() {
$("a[href='page.php']").each(function(index, element){
   href = $(element).attr('href');
   $(element).attr('href', href + "?q=" + $(element).text());
});
});

所以我需要分别在> <到三个部分之间划分:

  1. 将Mt添加到?book =→?book = Mt
  2. 将5添加到&amp; chapter =→&amp; chapter = 5
  3. 将2添加到&amp; vmin =→&amp; vmin = 2

1 个答案:

答案 0 :(得分:1)

您需要拆分每个链接的文字并分别使用所有三个值来制作您想要的$(document).ready(function() { $("a[href='page.php']").each(function(index, element){ href = $(element).attr('href'); // get the href text = $(element).text().split(' '); // get the text and split it with space $(element).attr('href', href + "?book=" +$.trim(text[0])+"&chapter="+$.trim(text[1].slice(0,-1))+"&vmin="+$.trim(text[2])); //create desired href and replace it with older-one }); });,如下所示: -

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="page.php">Mt 5: 2</a><br>
<a href="page.php">Mt 7: 2</a><br>
<a href="page.php">Mt 10: 2</a><br>
&#13;
trim()
&#13;
&#13;
&#13;

注意: -

如果值有任何(前导/尾随空格),

slice()用于删除多余的空格。

:用于从第二个值中删除{{1}}。