使用正则表达式从URL获取字符串? - php

正则表达式是我的甜头,谁能帮助我从URL隔离字符串?

我想从URL中获取页面名称,该URL可以通过输入表单以以下任何一种方式出现:

https://www.facebook.com/PAGENAME?sk=wall&filter=2
http://www.facebook.com/PAGENAME?sk=wall&filter=2
www.facebook.com/PAGENAME
facebook.com/PAGENAME?sk=wall

... 等等。

我似乎找不到一种方法来隔离.com/之后但?之前的字符串(如果有的话)。是preg_match,替换还是拆分?

如果有人可以推荐特别清晰且引人入胜的正则表达式指南,他们觉得对您有用,对此将不胜感激。

参考方案

您可以使用parse_url函数,然后从URL的路径中获取最后一段:

$parts=parse_url($url);
$path_parts=explode("/", $parts["path"]);
$page=$path_parts[count($path_parts)-1];

preg_match不捕获内容 - php

我的preg_match有什么问题?preg_match('numVar("XYZ-(.*)");',$var,$results); 我想从这里获取所有内容:numVar(“ XYZ-CONTENT”);感谢您的任何帮助! 参考方案 我认为这是PHP?如果是这样,则您的代码存在三个问题。PHP的PCRE函数要求使用分隔…

PHP:Preg_replace,单词边界和非单词字符 - php

我需要替换文本中以井号(#)开头的单词。好吧,我知道如何替换整个单词。preg_replace("/\b".$variable."\b/", $value, $text);由于该\ b修饰符仅接受单词字符,因此不会替换包含井号的单词。我有这个html,其中包含#companyName类型的变量,我将其替换为一个值。 参…

php:拆分字符串,直到第一次出现数字 - php

我有像cream 100G sup 5mg Children 我想在第一次出现数字之前将其拆分。所以结果应该是array( array('cream','100G'), array('sup','5mg Children') ); 可以告诉我如何为此创建图案吗?我试过了list(…

使用regex / preg_match()检查以十进制度为单位的一组坐标是否有效 - php

我已经学到了一些基本的正则表达式来弄湿我的脚,但是对于我来说,这一切仍然太复杂了。我需要使用一组用户输入的十进制度数坐标(示例):$ latitude = -42.323432$经度= 176.232123并使用PHP中的preg_match()函数检查它们是否有效。看起来很简单,但是我无法在我的一生中编写正则表达式来确保不会丢失任何不良数据。我将分别检查北…

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…