我正在寻找一个preg_match_all
来捕捉链接的href,该链接的锚文本为free file
。
这是我到目前为止<a.+href="(.*)".*>free file</a>
,但它不起作用,因为我得到错误...
警告:preg_match()[function.preg-match]:未知的修饰符&#39; f&#39;在 第20行/home/aaran/public_html/tests/free_file.php
PS我想要匹配此网址:
<p> Grab this month's <a href="/item/html5-image-transitions-jquery-plugin/571431?WT.ac=free_file&WT.seg_1=free_file&WT.z_author=pixelentity">free
file</a> from the Canvas category! </p>
答案 0 :(得分:3)
问题似乎是你没有在表达式周围放置分隔符。 PHP要求表达式被某种形式的有效分隔符包围。常见的是:
/
,通常使用,除非有特殊原因不这样做~
#
因此,请确保您的preg_match
以这样的方式开始:
preg_match('~<a.+href="(.*)".*>free file</a>~', /* ... */
请注意,我使用了代字号作为分隔符,因为表达式中有/
。