通过PHP将纯文本地址转换为可点击链接到谷歌地图

时间:2015-06-18 19:58:11

标签: php function maps filemaker clickable

从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和电子邮件地址的内容。

一切都有帮助,非常感谢。

1 个答案:

答案 0 :(得分:0)

凯西 - 不确定这里有足够的背景来帮助你吗?例如,忘记链接包装,

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

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

另外,不确定你真的想要使用nl2br,因为你可能不想在你的网址中断; - )

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

您可以使用两种方法。

  1. 在FileMaker中创建一个新的calc字段,用于过滤标点符号并将空格转换为'+',如:

    Filter( Substitute( Lower( Auctions::AIS_Venue ) ; [ ¶ ; "+"] ; [" " ; "+"]; ["++" ; "+"]  ); "abcdefghijklmnopqrstuvwxyz1234567890+" )
    
  2. 然后在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>';
      
    2. 应该做的伎俩? ; - )

相关问题