【问题标题】:Match link text and querystring of href PHP匹配链接文本和 href PHP 的查询字符串
【发布时间】:2018-03-15 07:27:40
【问题描述】:

我正在使用 PHP。

我需要将a 标记内的文本添加到href 属性的查询字符串中。

例子:

<a href="page.php">sometext</a> 

变成:

<a href="page.php?q=sometext">sometext</a> 

所以我只是将任何单词链接到 page.php,但是当用户单击它时,它会转到“page.php?q=sometext”,或者实际链接从“page.php”变为“page.php? q=sometext"。

如果可能,请使用jsfiddle.netphpfiddle.org 举例

【问题讨论】:

    标签: php string echo href


    【解决方案1】:

    仅使用 PHP 的唯一方法是使用 PHP 编写内部 HTML 和 href 属性。

    例子:

    echo '<a href="foo.php?' . $bar .'">' . $bar .' .</a>';
    

    【讨论】:

    • 它不必是专门的 PHP,只要是在其中工作的任何东西。标签总是“sometext”。需要的是在 > 之后添加它
    • @Mike 抱歉,从您的问题中并不清楚这需要不是基于服务器端而是基于标头之外的客户端信息的变量。这对于 PHP 或任何服务器端语言是不可能的,问题是短语的方式看起来好像需要 PHP
    【解决方案2】:

    您可以使用 jQuery 在客户端执行此操作:

    <script type="text/javascript">
        $(function(){
            $('a').each(function(index, element){
                href = $(element).attr('href');
                $(element).attr('href', href + "?q=" + $(element).text());
            });
        });
    </script>
    

    一个例子:https://jsfiddle.net/jgj7k19o/

    【讨论】:

    • 谢谢,但不能让它工作,你能有一个使用 jsfiddle.net 或 phpfiddle.org 的工作示例
    • 效果很好,但是它会翻转页面中的所有链接并添加?q=。我只需要将它添加到名为“page.php”的链接,而不是任何其他链接
    • 看这个例子匹配anchor的href属性为“page.php”jsfiddle.net/yvhv007y
    • 非常感谢.. 我还有一个问题:我可以让它分别在新网址的 3 个位置回显 3 个值(如诗句)?示例:Mt 5: 2 变为 Mt 5: 2
    • 我认为最好在服务器端执行此操作,但如果您确实需要在客户端执行此操作,请查看Fiddle
    【解决方案3】:

    也许使用 JavaScript 来做到这一点?

    使用 jQuery -

    $(function (){
        $("a[href='page.php']").attr("href","page.php?q=query");
    })
    

    这是 JSfiddle 示例 JSFiddle

    【讨论】:

    • 谢谢..你能有一个使用 jsfiddle.net 或 phpfiddle.org 的工作示例
    【解决方案4】:

    在代码点火器中;如果要在 url 中显示字符串,则必须使用路由。使用 foreach 将数据从控制器传递到视图后,您的视图将如下所示。

    我之前项目中的示例

    查看

    <?php foreach($var as $row){?>
     <a href="<?= base_url().'events/edit_events/'.$row->event_name?>"Edit
    <?php }?>
    

    路线

    $route['events/edit_events/(:any)'] = 'events/edit_events/$1'; 
    

    在我的路线中:任何含义都可以是 id、name 等。

    在这里,我使用了一个下拉列表。假设您的事件表中有 3 个数据。当我在第一个事件中选择“编辑”时,我会将我的路线传递给您。所以你的 url 现在会变成 localhost/project/events/edit_events/event1。

    【讨论】:

      猜你喜欢
      • 2018-03-15
      • 2023-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-21
      • 2011-07-12
      • 2010-10-15
      • 1970-01-01
      相关资源
      最近更新 更多