使用preg_match查找URL

时间:2014-06-18 12:55:05

标签: php string url expression preg-match

我一直在尝试使用preg_match来查找带有特定操作网址的表单。 这里是代码

if (!preg_match('/<form method="post" 
action="https[\:]//www.amazon.com/gp/aw/si.html/ref=aw_c_co".*?<\/form>/is', $page, $form)) {
die('Failed to CHECKOUT form!');

但是我收到一条错误消息:

Warning: preg_match(): Unknown modifier '/'

我不明白什么是错的。 感谢

2 个答案:

答案 0 :(得分:0)

你必须逃避(\)/因为这些是你的正则表达式分隔符!也许你想使用其他分隔符?

/ - &gt; \ /

答案 1 :(得分:0)

您可以使用以下代码:

$str = '<form method="post" action="https[\:]//www.amazon.com/gp/aw/si.html/ref=aw_c_co".*?<\/form>';
$str = preg_replace('^.*<form.*?action="(.+?)".*$', '$1', $str);

它为您提供:https [\:] // www.amazon.com/gp/aw/si.html/ref=aw_c_co

祝你好运