我试图制造一种与“URL”相对应的经常表达,这种表达方式以前没有平等标志,也没有一个或一个单一的或两倍的(选择)忽略白人空间。 下面的法典有一处错误:Warning: preg_replace(): 汇编失败:表面上的说法没有固定的长度以抵消0
。
我知道,我定期表达是完美无缺的,但我更侧重于如何做消极的眼光,或如何以其他方式表达。
例如,在以下编码中,在配对器中,应输出和,但不是其他URLs。 我如何能够这样做? 下面的法典提供了警告,没有填满配量变量。
PHP 法典:
$html = "
http://www.url1.com/
= http://www.url2.com/
http://www.url3.com/
<a href= http://www.url4.com/ >Testing1</a>
<img src= https://url5.com >Testing2</a>";
$url_pregex = ((http(s)?://)[-a-zA-Z()0-9@:%_+.~#?&;//=]+) ;
$pregex = (?<!\s*=\s*[ "]?\s*) .$url_pregex;
preg_match_all( ` .$pregex. `i , $html, $matches);
echo "Matches<br><pre>";
var_export($matches);
echo "</pre>";
PHP中的Perl Regex使用“而不是”:
`(?<!\s*=\s*[ "]?\s*)((http(s)?://)[-a-zA-Z()0-9@:%_+.~#?&;//=]+)`i