请教如何转换链接中的空格为“-”符号

2016-10-22 23:39:09 +08:00
 wehut
<p>观看作者“<a href="http://www.xxxxxx.com/tag/<?php $name = get_post_meta($post->ID, 'author', true); if ($name) { echo "$name";}?>"><?php $name = get_post_meta($post->ID, 'author', true); if ($name) { echo " $name ";}?></a>”的其他作品</p>

这是 wordpress 中(自定义栏目)自定义字段的 ,$name 中输出的内容也就是 author 栏目里的内容, 最终输出的效果就是: http://www.xxxxxx.com/tag/$name 但如果 $name 内的内容 有空格的话输出的链接 就会无法访问 会出现 404 。

比如: http://www.xxxxxx.com/tag/The Frostbite Project
改为: http://www.xxxxxx.com/tag/The-Frostbite-Project

现在就想解决如何把 $name 的内容中的 空格 自动由 php 替换成 “-”符号 这样就可以正常访问, 之所以不再 $name 里直接加上 - 是因为 这样调用出来前端显示不美观。

急着解决,现在大量 404
2448 次点击
所在节点    PHP
8 条回复
loveyu
2016-10-23 00:20:57 +08:00
果然大家都是懒得回答
nfroot
2016-10-23 00:27:26 +08:00
@loveyu 既然你都这么说了 那你上吧
shiny
2016-10-23 00:33:57 +08:00
为什么不直接用空格,直接 urlencode 就行了。
beginor
2016-10-23 08:43:30 +08:00
urlencode +1 , 或者手工将空格转换为 %20
ids
2016-10-23 09:19:56 +08:00
urlencode+2
wehut
2016-10-24 17:51:10 +08:00
拜托大家,现在出现很多 404 。
AbrahamGreyson
2016-10-24 22:53:12 +08:00
```php
echo $name ? str_replace(' ', '-', $name) : null;
```
wehut
2016-10-25 16:48:34 +08:00
@AbrahamGreyson 真是太谢谢你了,对于我这样不会程序的人,一直苦恼了很久,太感谢了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/314737

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX