比较两个字符串并返回匹配的字符串

时间:2014-06-03 08:01:26

标签: php

我试图通过比较获得匹配的部分

$_SERVER['DOCUMENT_ROOT']$_SERVER['PHP_SELF'];

如果$_SERVER['DOCUMENT_ROOT']返回var/www/subdir

$_SERVER['PHP_SELF'];返回/subdir/index.php/somepage

所以如何匹配正确的$_SERVER['DOCUMENT_ROOT']

左起

$_SERVER['PHP_SELF'];,然后获得匹配的部分

所以我会在输出中得到这个: subdir

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

我建议您使用 preg_match 。使用它,您可以在/的{​​{1}}的{​​{1}}之前获取字符串,并在$_SERVER['PHP_SELF']的最后'/'之后获取字符串,然后在找到匹配项时对它们进行比较,那么它将是{{ 1}}在你的情况下

preg_match documentations ::

  1. php.net/preg_match
  2. tutorialspoint.com/php/php_preg_match.htm
  3. preg_match EXAMPLES
  4. 有关其他信息,您还可以使用

    获取根目录 你的php文件中的

    $_SERVER['DOCUMENT_ROOT']保存在你的根目录中(例如index.php,希望如此)......只是说它是否对你有帮助

答案 1 :(得分:0)

如果你想要基本网址,那么你正在尝试错误的事情。你需要尝试这个

<?php echo "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; ?>

这个问题已在这里得到解答:

How to get base URL with PHP?

或者参考PHP文档here