【发布时间】:2013-04-28 19:31:04
【问题描述】:
我试图从 Google 结果中获取 URLs,但 Google api 不允许获得超过前 100 个结果,所以我想复制 Google 内容,将其粘贴到文件中并使用 preg_match_all 来获得结果。不幸的是,我不擅长正则表达式。
有人可以帮我解决这个问题吗?主要问题是链接没有“http://”。
$body="PHP – Wikipedia, wolna encyklopedia
pl.wikipedia.org/wiki/PHP
PHP jest najczęściej stosowany do tworzenia skryptów po stronie serwera WWW, ale może być on również używany do przetwarzania danych z poziomu ...
Możliwości - Historia - Moduły - Składnia
PHP: Hypertext Preprocessor
php.net/Tłumaczenie strony
Server-side HTML embedded scripting language. It provides web developers with a full suite of tools for building dynamic websites: native APIs to Apache and ...
Downloads - Documentation - A simple tutorial - News Archive - 2012
PHP: Downloads
php.net/downloads.phpTłumaczenie strony
Binaries for other systems. We do not distribute UNIX/Linux binaries. Most Linux distributions come with PHP these days, so if you do not want to compile your ...
PHP Tutorial - W3Schools
www.w3schools.com/php/Tłumaczenie strony
Provides basic to advanced PHP functions. Users can also learn how to integrate PHP with other languages such as MYSQL, AJAX, and XML.
Kurs PHP
phpkurs.pl/
Kurs programowania w języku PHP. Kurs ten ma za zadanie zaznajomić osobę kompletnie nieobeznaną z tym językiem na tyle, aby sama była w stanie napisać ...
Podstawy - Operacje na plikach - Ciągi znakowe (stringi) - Tablice";
preg_match_all('/^(www\.)?[a-z0-9_\-]+.[a-z]+$/', $body, $match);
print_r($match);
结果:
Array ( [0] => Array ( ) [1] => Array ( ) )
你能帮我解决一下吗?
【问题讨论】:
-
你知道
^和$是什么意思吗?它们不仅仅是用于每个正则表达式的装饰器。 -
我认为这是行的开始和结束。我也试过这个 '/^(www\.)?[a-z0-9_\-]+.[a-z]+[^
-
在您的摘录中,链接不是从行首开始的。前面有空格。如果使用
/m标志,$仅在行尾有效。否则^$涉及主题开始/结束,而不是行。 -
好吧,所以在添加 /m 标志后什么也没发生。我尝试过这样的事情:
'/^[^<]*(www\.)?[a-z0-9_\-]+.[a-z]+[^<]*$/m' -
正则表达式不是从 HTML 中提取数据的最佳方法,但您发布的内容没有任何 HTML 标记。 HTML 发生了什么?如果您提供 HTML,我可以提供更好的解决方案。
标签: php regex preg-match-all