我有一个我为客户构建的Wordpress网站,一个自定义帖子类型字段将允许用户输入链接,然后输入链接的文本,格式如下图所示,并称为资源。
这些信息需要作为<li>
在锚标记中输出。我对php很新,这是我到目前为止的代码
<ul>
<?php
$rawcontent = get_field("resources");
$rawcontent = preg_replace("!</?p[^>]*>!", "", $rawcontent);
$all_links = preg_split("/(\n)/", $rawcontent);
$firstpart = array_pop(explode(',', $rawcontent));
foreach($all_links as $link) {
if(!trim($link)) continue;
echo "<li><a href='$link'>$firstpart</a></li>";
}
?>
</ul>
当我在执行任何代码之前打印$ rawcontent(resources)时,将其显示为: www.mylink1.com,链接副本1
www.mylink2.com,链接副本2
www.mylink3.com,链接副本3
如何才能让它只返回href的链接以及每个锚标记的锚文本的链接复制部分?
答案 0 :(得分:1)
我认为这样做会
我首先像你一样在新线上爆炸,然后我预先排好了这些线
当我走线时,我用逗号分隔线。
现在我有一个数组,链接作为第一项,文本作为第二项。
$str = "www.mylink1.com,link copy 1
www.mylink2.com, link copy 2
www.mylink3.com,link copy 3";
$lines = explode(PHP_EOL, $str);
Foreach($lines as $line){
$linktext = explode(",", $line);
Echo "<li><a href='$linktext[0]'>$linktext[1]</a></li>";
}
我看到你的link2在文本中有一个空格 当你回音时,你可以删除它。
Echo "<li><a href='" . trim($linktext[0]) . "'>" . trim($linktext[1]) . "</a></li>\n";
我在链接和文本上都添加了修剪,这样可以很好。以防万一...
https://3v4l.org/6RkW3