【发布时间】:2012-04-01 13:16:14
【问题描述】:
我不确定这个问题是我的嘘声还是与 CI 有关的问题。我有一个 preg_replace 进程将已发布的 gdoc 电子表格 url 转换回原始电子表格 url。
$pat ='/(^[a-z\/\.\:]*?sheet\/)(pub)([a-zA-Z0-9\=\?]*)(\&output\=html)/';
$rep ='$1ccc$3#gid=0';
$theoriginal = preg_replace( $pat, $rep, $published );
这在本地运行的测试页面中运行良好。这个测试页面不是由 CI 构建的——它只是一个基本的 php 页面。
当我将模式和替换复制并粘贴到它打算用于的 CI 视图中时,没有任何乐趣。
这个故障是由 CI 还是我的“坏”引起的?是否有易于实施的补救措施?
下面是来自 CI 视图的更多代码:
<body id="sites" >
<?php
foreach ( $dets as $item )
{
$nona = $item->nona;
$address = $item->address;
$town = $item->town;
$pc = $item->pc;
$foto1 = $item->foto1;
$foto1txt = $item->foto1txt;
$foto2 = $item->foto2;
$foto2txt = $item->foto2txt;
$costurl = $item->costurl;
$sid = $item->sid;
}
//convert published spreadsheet url to gdoc spreadsheet url
$pat ='/(^[a-z\/\.\:]*?sheet\/)(pub)([a-zA-Z0-9\=\?]*)(\&output\=html)/i';
$rep ='$1ccc$3#gid=0';
$spreadsheet = preg_replace( $pat, $rep, $costurl);
汤姆
【问题讨论】:
-
可能是 CI 允许的 URI 字符吗?我不确定你是如何访问文件的,等等……但请检查一下。
-
那不是CI,var_dump对每个变量显示什么?
-
var_dump 显示 preg_replace 的效果完全没有:$theorignal === $published。齐尔奇。
-
嗯,这只是一个 CI 视图页面,上面插入了一些代码:没有什么特别之处,而且很长。
-
我已经解决了。我研究了模式以简化它。似乎在当地工作很蹩脚。我把它修剪下来,发现它在家里和野外都能正常工作。感谢您的输入。不是一个好问题,但它仍然教会了我一些东西。
标签: php regex codeigniter preg-replace regex-group