如何将空间替换为非断裂空间

  • 本文关键字:空间 替换 php
  • 更新时间 :
  • 英文 :


我有解析网址的解析器。

在某些解析的URL中,我有一个简单的空间,例如%20 ,但是如果我检查了解析网站的真实URL,我会看到此非破坏空间%C2%a0

那么,我如何替换%20 to %C2%A0 a0

foreach($productUrls as $href) {
   $productWithSpace = str_replace('%20', '%C2%A0', $href['url']);
   $link = 'http://optnow.ru/' . $productWithSpace;
   $product = file_get_html($link);
}

但是它仍然不起作用。

我的错误在哪里?

谢谢

我相信您要

urlencode将空间转换为' 's,但是如果您希望它们为%20,则可以使用RawurlenCode来解决这个问题。

$productWithSpace = rawurlencode(urldecode($href['url']));
$link = 'http://optnow.ru/' . $productWithSpace;
$product = file_get_html($link);

我将使用

urldecode($string)

它将为您自动解码任何URL。用户错误的机会更少。此外,它解码了您可能不知道需要解码的东西。

因此,您的新代码将是(这应该解决您的问题):

$productWithSpace = urldecode($href['url']);
$link = 'http://optnow.ru/' . $productWithSpace;
$product = file_get_html($link);

最新更新