这是一个后续问题的一个I posted here(感谢mario)PHP的preg_replace问题
好了,我有一个的preg_replace语句sometext
替换URL字符串,从查询字符串插入值(使用$_GET["size"]
)和插入来自关联数组的值(使用$fruitArray["$1"]
回参考)
输入URL字符串将是:
http://mysite.com/script.php?fruit=apple
输出字符串应是:
http://mysite.com/small/sometext/green/
的PHP我有如下:
$result = preg_replace('|http://www.mysite.com/script.php\?fruit=([a-zA-Z0-9_-]*)|e', ' "http://www.mysite.com/" .$_GET["size"]. "/sometext/" .$fruitArray["$1"]. "/"', $result);
此代码输出以下字符串:
http://mysite.com/small/sometext//
代码似乎跳过$fruitArray["$1"]
值。
我错过了什么?
谢谢!
当问这样一个问题,你应该完全删除$ _GET和$ fruitArray并使用常量来将问题本地化到preg_replace。也许你的变量是空的,我们无法确定它 – 2011-05-12 17:23:57
@Riccardo Galli你在那里是非常正确的,经验教训 - 必须停止在fag数据包的背面写入php并移动到PHP IDE - 你有什么建议吗? ?我是一个新手:/干杯。 – Matt 2011-05-12 19:23:18
通过重写一些前面的代码来解决这个问题;我有其他的preg_replace调用干扰的URL字符串:/也许我的代码上面是半 - OK :-)这个项目开始很小,但现在它的数百和数百行代码 - 对所有的道歉 - 我很欣赏答案,欢呼! – Matt 2011-05-12 19:28:59