Php 多个stru_替换?
我正在尝试替换CodeIgniter中具有特定参数的URL。在这一点上,CI并不重要,因为我有它最好的部分在工作 假设我的URL是:Php 多个stru_替换?,php,Php,我正在尝试替换CodeIgniter中具有特定参数的URL。在这一点上,CI并不重要,因为我有它最好的部分在工作 假设我的URL是: ?device=field1-field2_field3+field4 通过回显$DeviceLink 2,应显示: field1 field2.field3*field4 目前,除了替换+,它可以与任何东西一起工作。出于某种原因,它将+替换为空格 但是,我无法使用下面的代码使其工作。有什么想法吗 $device = $this->input-&
?device=field1-field2_field3+field4
通过回显$DeviceLink 2,应显示:
field1 field2.field3*field4
目前,除了替换+,它可以与任何东西一起工作。出于某种原因,它将+替换为空格
但是,我无法使用下面的代码使其工作。有什么想法吗
$device = $this->input->get('device');
$devicelink = str_replace("-"," ",$device);
$devicelink1 = str_replace("_",".",$devicelink);
$devicelink2 = str_replace("+","*",$devicelink1);
试试这个:
$search = array('-', '_', '+');
$replace = array(' ', '.', '*');
$subject = $this->input->get('device');
$deviceLink = str_replace($search, $replace, $subject);
试试这个:
$search = array('-', '_', '+');
$replace = array(' ', '.', '*');
$subject = $this->input->get('device');
$deviceLink = str_replace($search, $replace, $subject);
查询字符串中的
+
实际上表示一个空格字符,因此使用这个(非常奇怪的)查询字符串:
?device=field1-field2_field3+field4
$device = $this->input->get('device');
$devicelink = str_replace(" ", "*", $device);
$devicelink1 = str_replace("_", ".", $devicelink);
$devicelink2 = str_replace("-", " ", $devicelink1);
$this->input->get('device')
等于field1-field2\u field3 field4
要回答如何使用此精确查询字符串获得所需输出的文字问题,请执行以下操作:
?device=field1-field2_field3+field4
$device = $this->input->get('device');
$devicelink = str_replace(" ", "*", $device);
$devicelink1 = str_replace("_", ".", $devicelink);
$devicelink2 = str_replace("-", " ", $devicelink1);
或:
如果在将这些字符输入原始查询字符串时遇到问题,请确保正确编码:
?device=field1+field2.field3%2Afield4
请参阅PHP的本机
urlencode
函数,以获取以下帮助:+
在查询字符串中实际上表示一个空格字符,因此使用此(非常奇怪的)查询字符串:
?device=field1-field2_field3+field4
$device = $this->input->get('device');
$devicelink = str_replace(" ", "*", $device);
$devicelink1 = str_replace("_", ".", $devicelink);
$devicelink2 = str_replace("-", " ", $devicelink1);
$this->input->get('device')
等于field1-field2\u field3 field4
要回答如何使用此精确查询字符串获得所需输出的文字问题,请执行以下操作:
?device=field1-field2_field3+field4
$device = $this->input->get('device');
$devicelink = str_replace(" ", "*", $device);
$devicelink1 = str_replace("_", ".", $devicelink);
$devicelink2 = str_replace("-", " ", $devicelink1);
或:
如果在将这些字符输入原始查询字符串时遇到问题,请确保正确编码:
?device=field1+field2.field3%2Afield4
请参阅PHP的本机
urlencode
函数,以获取以下帮助:str\u replace可以很好地接受数组。
str_替换(数组(“她”、“爱”、“我”)、数组(“他”、“恨”、“你”)、“她爱我而不是你”)
str_replace将返回“他恨你而不是你”。(可怕的例子,嗯?)
如果输入一个要搜索的数组和一个字符串作为替换,它将用hay stack中的给定字符串替换所有数组值
或者,如果输入两个数组,其中的元素数相同,“搜索”数组中的元素将替换为各自的替换值
$devicelink=str_replace(数组('-',''.','+',数组('''.','*'),$device) str_replace很好地接受数组。 str_替换(数组(“她”、“爱”、“我”)、数组(“他”、“恨”、“你”)、“她爱我而不是你”) str_replace将返回“他恨你而不是你”。(可怕的例子,嗯?) 如果输入一个要搜索的数组和一个字符串作为替换,它将用hay stack中的给定字符串替换所有数组值 或者,如果输入两个数组,其中的元素数相同,“搜索”数组中的元素将替换为各自的替换值
$devicelink=str_replace(数组('-',''.','+',数组('''.','*'),$device) “不能让它工作”是你能做的最好的描述你的问题吗?如果你希望答案中有同样的细节,那么答案是“你需要修复它”。是的,好的,当你写这篇文章时我正在编辑它,因为我意识到我没有描述我的实际问题什么是
echo$this->input->get('device')代码>收益率<代码>字段1-2\u字段3+4
?然后您是否尝试过echo str_替换(数组('-','''.','+')、数组(''''.','*')、$this->input->get('device')代码>?是的,在CodeIgniter中,$this->input->get('device')与$\u get['device']相同。我现在就试着用“不能让它工作”来描述你的问题?如果你希望答案中有同样的细节,那么答案是“你需要修复它”。是的,好的,当你写这篇文章时我正在编辑它,因为我意识到我没有描述我的实际问题什么是echo$this->input->get('device')代码>收益率<代码>字段1-2\u字段3+4
?然后您是否尝试过echo str_替换(数组('-','''.','+')、数组(''''.','*')、$this->input->get('device')代码>?是的,在CodeIgniter中,$this->input->get('device')与$\u get['device']相同。我现在就试试,谢谢,我会试试的。理解它的奇怪,但是我需要一种方法来区分空格、hypen、点和符号,因为我不能在URL本身中使用点或符号,因此使用u和+代替为什么不能在URL中使用点或符号?记住,你在URL中看到的只是简单的编码,你应该能够使用你需要的任何值。我认为有一个最佳实践,在URL的字符串中不使用点或符号。例如,我的一些可能是page?device=samsung at&t-galaxy-s-ii-skyrocket或page?device=samsung-galaxy-tab-10.1。我不确定,这会打乱我的搜索引擎优化,或者搜索引擎会认为%26是一个好问题。可能是需要查找/询问的内容。我非常怀疑这会对你产生负面影响。谢谢你会给我一个机会。理解它的奇怪,但是我需要一种方法来区分空格、hypen、点和符号,因为我不能在URL本身中使用点或符号,因此使用u和+代替为什么不能在URL中使用点或符号?记住,你在URL中看到的只是简单的编码,你应该能够使用你需要的任何值。我认为有一个最佳实践,在URL的字符串中不使用点或符号。例如,我的一些可能是page?device=samsung at&t-galaxy-s-ii-skyrocket或page?device=samsung-galaxy-tab-10.1。我不确定,这会打乱我的搜索引擎优化,或者搜索引擎会认为%26是一个好问题。可能是需要查找/询问的内容。我非常怀疑这会对你产生负面影响。