【问题标题】:Convert Plain Text Address to clickable link to google maps via PHP通过 PHP 将纯文本地址转换为指向谷歌地图的可点击链接
【发布时间】:2015-06-18 19:58:11
【问题描述】:

从 Filemaker Pro 数据库字段中提取数据并尝试通过 PHP 将字段中的纯文本数据转换为可点击的链接到谷歌地图。

我的第一次尝试调用时没有显示任何内容:

$Venue = '<a href="https://maps.google.com/maps?q='.nl2br($record->getField ( 'Auctions::AIS_Venue' )).'"></a>';

$Venue 然后通过

回显到 UL
<?php echo $Venue; ?>

我对 PHP 比较陌生,所以我确定有一种更语义化的方式来标记它?可能是一个正则表达式和替换,返回一个 preg_replace?这是我一直使用的纯文本 URL 和电子邮件地址。

任何帮助,非常感谢。

【问题讨论】:

    标签: php function maps filemaker clickable


    【解决方案1】:

    Casey - 不确定这里是否有足够的上下文可以帮助您?例如,忘记链接换行,是吗

    <?php echo $record->getField( 'Auctions::AIS_Venue'); ?>
    

    实际上将字段内容回显到页面?

    另外,不确定您是否真的想使用 nl2br,因为您可能不希望您的网址中断 ;-)


    好的,在这种情况下,有几件事可以尝试。首先 - 你能让它在 FileMaker 内的网络查看器中运行吗?我怀疑不是,可能是编码/过滤问题。

    您可以使用两种方法。

    1. 在 FileMaker 中创建一个新的计算字段,过滤掉标点符号并将空格转换为“+”,类似于:

      Filter( Substitute( Lower( Auctions::AIS_Venue ) ; [ ¶ ; "+"] ; [" " ; "+"]; ["++" ; "+"]  ); "abcdefghijklmnopqrstuvwxyz1234567890+" )
      

    然后在您的 PHP 代码中使用该字段,或者;

    1. 在 PHP 中即时执行相同的计算,例如:

      $Venue = '<a href="https://maps.google.com/maps?q='.preg_replace( array("/[\n ]+/",'/[^a-zA-Z0-9+]/'), array('+',''), $record->getField ( 'Auctions::AIS_Venue' ) ).'"></a>';
      

    应该做这个伎俩? ;-)

    【讨论】:

    • 感谢您的回复,@Dycey - 没想到 nl2br,很棒的电话。是的,$record->getField('Auctions::AIS_Venue');在 $Venue = $record->getField('Auctions::AIS_Venue');它会拉出一个始终包含纯文本地址的字段。我只是想把纯文本地址变成一个可点击的谷歌地图链接。
    猜你喜欢
    • 2010-11-21
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多