2012-04-23 13 views
-3

我在PHP中PHP:另一种正则表达式我想不通

1与2的正则表达式的麻烦剥离HTTP(S)://和www。

https://www.google.be/search?sclient=psy-ab&q=regex&oq=regex 
http://www.google.be/search?sclient=psy-ab&q=regex&oq=regex 
https://google.be/search?sclient=psy-ab&q=regex&oq=regex 
http://google.be/search?sclient=psy-ab&q=regex&oq=regex 

=> google.be/search?sclient=psy-ab&q=regex&oq=regex 

2. 3-30个字符,可以包含A-ZA-Z0-9。-_ *,但需要

Valid: -_l*96d.* 
Invalid: *-_. 

我已经搜查所以至少一个字母或数字长期没有任何结果,所以请帮助!

非常感谢!

+0

我需要它CakePHP的验证,所以我需要一个正则表达式 – user1013338 2012-04-23 19:25:46

+0

对于第一个问题,从采取的第二场比赛: ^ https:\/\ /(www \。)?(。*)$ 第二个似乎更复杂 – Ina 2012-04-23 19:26:03

回答

1
preg_replace('/^(http|https):\/\/(www\.)?/i', '', $url) 
+0

/^.*(?=.{3,33})(?=.*[a-zA- Z0-9])(= * [A-ZA-Z0-9 \ - ?。\ * _ \])* $ / – Kelly 2012-04-23 22:23:54

1

第二个正则表达式应该是这样的:

'/^(?=[0-9a-zA-Z])[a-zA-Z0-9\-\*_\.]{3,30)$/' 
+0

似乎没有工作,它说...-一个错误 – user1013338 2012-04-23 19:34:09

+0

什么*应该*工作,但不是'吨。给我举个例子。 – 2012-04-23 19:35:14

+0

...- a应该是真的 – user1013338 2012-04-23 19:35:41