我正在努力用RegEX实现一些相对简单的事情,但是因为我困惑了3个多小时,我希望你能帮助我。
基本上,我有一个里面有文字的页面,还有很多网址。我想删除此页面中的所有内容,但特定域名除外。
以下是一个示例:https://regex101.com/r/sO6hX9/17,除了https://my.domain.com/example/example?=12之外,我想要完全相同,匹配并删除所有其他内容。
以下是我的实际PHP模式。我不再需要它了,因为我改变了主意,现在我只想解析我的域名:
$patterns = array(
'#<!-- [lmw] --><a class="postlink[^>]*>(.*<\/a[^>]*>)?<!-- [lmw] -->#Usi', // Magic URLs
'#<[^>]*>(.*<[^>]*>)?#Usi', // HTML code
'#\[/?[^\[\]]+\]#mi', // Strip all bbcode tags
'#(https:\/\/my.domain.com\/[^\[\]\s]+)+#i', // Strip every https except my.domain.com occurrences
'#(http|ftp|mailto)(:|\&\#58;)\/\/[^\s]+#i', // Strip remaining URLs
'#"#', // Possible quotes from older board conversions
'#[\s]+#' // Multiple spaces
);
PHP函数在这里:https://pastebin.com/2g5cR3WY