2013-12-17 88 views
0

我是PHP新手。我正在尝试替换不属于索引页一部分的所有页面的标题中的哈希标记。我使用此代码PHP在特定页面上更改href

$content = file_get_contents('includes/header.php'); 

if (strpos($_SERVER['SCRIPT_NAME'], 'index.php') === false){ 

    preg_replace('href="#', 'href="index\.php#', $content); 

} 

但是我得到“警告:的preg_replace():分隔符不能是字母或反斜线”,我不知道如何逃生比使用反斜线更多的字符。

我应该只是运行一些JavaScript呢?

感谢

+0

@HeHui错误是走了,但没有结果。也许没有正确地返回或更新$内容的链接。有任何想法吗? – user2096568

回答

-1

URL的“散列”不能只有服务器客户端进行访问。

操纵这部分URL的唯一方法是使用客户端脚本语言,例如, JavaScript的。

+0

好吧,javascript是唯一的选择?我现在正在使用这个解决方案,就好像在PHP中应该有一些方法来做到这一点... – user2096568

+2

他正在替代'a'标记的'href'值,而不是当前URI中的哈希值,所以这是可能的。 – Reeno

0

preg_replace预计参数1是一个模式,并且缺少分隔符。所以,你需要做的是这样的:

preg_replace('/href="#/', 'href="index\.php#', $content); 

http://www.php.net/preg_replace