src="/blkjad.dafsdf"> という形式の文字列に一致する正規表現があります。次のようになります: (src|href)(\s*)?=(\s*)?(\"|\')/([^/].*?)\4.
これは、私が実行している 1 つのサイトでは問題なく動作しますが、Cake に組み込まれている別のサイトでは一貫して失敗します。別の失敗した Regex => '/(")/' は、行内の二重引用符に一致する必要があります。
私は今途方に暮れています。私が働いている上級開発者の 1 人がそれを見て、基本的に首を横に振った。残念ながら、私は Cake にそれほど精通しておらず、同様の問題をオンラインで見つけることができないようです。何か案は?
編集: レコードについては、失敗した正規表現は preg_match_all を使用しますが、他の (同一/動作する正規表現) は preg_replace を使用します。関連するコードを次に示します。
$regex['php'] = '/(src|href)(\s*)?=(\s*)?(\"|\')\/([^\/].*?)\4/';
$php = htmlspecialchars(file_get_contents(sprintf('/home/x/x/x/x/x/%s.%s', $string, $extension))); echo $php;
if (preg_match_all($regex['php'], $php, $out)){
echo sizeof($out);
echo nl2br(print_r($out, true));
} else {
echo 'Doesn\'t work';
}