2015-04-06 72 views
-3

我想了一个小时,使替换工作。真的没有理由不应该工作,但它不工作。Php替换似乎不工作

echo $title22; 
$title22 = str_replace('–','dsdas',$title22); 
echo $title22; 

输出:

Something – something else 
Something – something else 

我猜,我使用一种错误的这个符号: - ,但我已经尝试过在我的键盘和桌面两个选项,他们没有工作。替换是否与符号一起工作?

+0

你试过复制粘贴字符吗?你确定它没有以某种方式编码吗?你检查了源代码吗? – PeeHaa 2015-04-06 01:16:53

+0

这是我做的第一件事。这是一个WordPress的帖子的标题,我从编辑器以及输出页面复制了该符号。没有运气。 – Brana 2015-04-06 01:17:11

+0

我不知道编码。 – Brana 2015-04-06 01:18:49

回答

0

这里是什么在起作用:

$title22 = urlencode($title22); 
$title22 = str_replace("%26%238211%3B", "thisqqqqqsymbol", $title22); 
$title22 = urldecode($title22);   
$title22 = str_replace("thisqqqqqsymbol", $color."-", $title22); 

我不知道什么%26%238211%3B是。我猜想有什么东西坏了

此外,这是一个通用的解决方案,用于像这样的奇怪字符的问题。

0

的 - 不等于 - 人物: 试试这个:

$title22='Something – something else'; 
echo $title22; 
$title22 = str_replace('–','dsdas',$title22); 
echo $title22; 

输出:

Something – something else 
Something dsdas something else 
+0

我已经尝试 - 和 - 。在两种情况下都不会被替换。 – Brana 2015-04-06 01:25:03

+0

请运行我的示例,该工作(我在发布之前在我的系统上测试过) – 2015-04-06 01:26:44

+0

示例有效,但在我的网站上不起作用。我认为,PHP有时真的很糟糕,无法正常工作。 – Brana 2015-04-06 01:30:34