我有一个带有英语和冰岛字符的动态字符串:
$string = "The Post (Post Title In Icelandic Characters) appeared first on (Website Name)";
标题可以包含任何特殊字符,例如(-_,。&..Etc Etc)。
网站名称有时包含冰岛字符和特殊字符,例如(。-)。
标题和网站名称均不区分大小写,因为某些单词包含大写字母。
我尝试过:
$appeared= ['~The post [^\p{Xwd}. -] appeared first on [^"]*~u'];
preg_replace($appeared, '', $string)
但这没用。
一个例子:
$string = "The post Gufuá í Borgafirði – flott veiði í dag, 26. júní appeared first on a.is.";
请注意,标题包含特殊字符,可以包含任何特殊字符,而且字符串末尾的点也可以存在或不存在。
我想用空字符串''替换该完整字符串。
答案 0 :(得分:2)
您似乎需要
preg_replace('~The post .*? appeared first on .*~', '', $string)
第一个.*?
匹配除换行符以外的任何0+个字符,尽可能少(惰性),然后最后一个.*
匹配除换行符以外的0个以上的字符,尽可能多尽可能(贪婪)。
请参见PHP demo。
请注意,您只需要匹配任何个字符,就不必担心这里的冰岛字符。