【发布时间】:2013-11-22 19:50:06
【问题描述】:
我想用 %20 替换链接中的每个空格。
<a href="Replace the spaces here">Some text</a>
我想得到这个:
<a href="Replace%20the%20spaces%20here">Some text</a>
不是这个:
<a%20href="Replace%20the%20spaces%20here">Some%20text</a>
如何做到这一点? preg_replace? 解决方案(因为我无法发布答案):
$search= '(href="(.*?)")s';
$replace= '';
$newstring= preg_replace_callback($search,create_function('$treffer','urlencode($treffer[0]);'),$string);
【问题讨论】:
-
你能告诉我们你的代码吗?
-
为什么首先要有无空格链接?这个页面是如何生成的?
-
我在这里同意@Pekka웃。首先在 URL 中包含空格是非常糟糕的做法。
-
我看不出这样做的目的。现代浏览器会自动执行此操作,除非您的用户和/或您使用的是恐龙浏览器。另外,以空格开头的文件是非常糟糕的做法。我建议您开始使用下划线和/或连字符来命名您的文件。
-
文件名带空格有什么问题?只要他们被正确逃脱?
标签: php html escaping preg-replace href