|
|
|
| Есть такой паттерн $pattern="/(http:\\/\\/)?([a-z_0-9-.]+\\.[a-z]{2,3}(([ \"'>\r\n\t])|(\\/([^ \"'>\r\n\t]*)?)))(html|php)/";
Есть $text="aaaaaaaaaaaaaaaaa bbbbbbbb http://aaaaaaaaa.com/aaa/223/aaa22/04ks.html ccccccccc http://yyyyyyyyyyyyyy.ru/uuuuuuuuuu/33/2222/9999999.php jjjjjjjjjjjjj http://site.net/r32r32/j.xml";
$text_new=preg_match_all($pattern,$text,$links);
Результат:
aaaaaaaaa.com/aaa/223/aaa22/04ks.
yyyyyyyyyyyyyy.ru/uuuuuuuuuu/33/2222/9999999.
Как сделать чтобы сохранялось расширение файлов, в данном случае html и php ?
Вот так
aaaaaaaaa.com/aaa/223/aaa22/04ks.html
yyyyyyyyyyyyyy.ru/uuuuuuuuuu/33/2222/9999999.php | |
|
|
|
|
|
|
|
для: fly2p
(27.07.2009 в 01:12)
| | Не надо. Результат у этого выражения куда более сложный. | |
|
|
|
|
|
|
|
для: Trianon
(27.07.2009 в 09:11)
| | Что не надо ?
Я спрашваю как сделать что бы из результата расширение не удалялось. А не какой у него результат сложный или простой. | |
|
|
|
|
автор: 9 9 (27.07.2009 в 18:17) |
|
|
для: fly2p
(27.07.2009 в 12:07)
| | Попробуйте вместо ( подмасок ) применить (?: подмаски )
и смотрите результат примерно так:
<pre><?
print_r($links);
?> | |
|
|
|
|
|
|
|
для: fly2p
(27.07.2009 в 12:07)
| | Вы пишете:
$text_new=preg_match_all($pattern,$text,$links);
Результат:
aaaaaaaaa.com/aaa/223/aaa22/04ks.
yyyyyyyyyyyyyy.ru/uuuuuuuuuu/33/2222/9999999
|
Так вот результат не такой.
Более того, если б Вы вывели результат - вопрос о полном имени отпал бы сам собой.
Или почти сам собой. | |
|
|
|
|
|
|
|
для: fly2p
(27.07.2009 в 01:12)
| | Я не знаю какую конечную цель вы преследуете, но тем не менее
$pattern="#(http://)?(www.)?([a-z0-9-.]+\\.[a-z]{2,6}[^\"'\s]*)#"
|
| |
|
|
|