小编han*_*nji的帖子

preg_replace add target ="_ blank",但排除某些实例

我无法将正确的RegEx模式组合到我的链接中添加target ="_ blank".要将其添加到所有链接..没问题,但我需要根据模式排除某些实例.

这是preg_replace()我用来更新目标的所有链接,在href中显示http://

preg_replace('/(<a href="http:[^"]+")>/is','\\1 target="_blank">',$content);
Run Code Online (Sandbox Code Playgroud)

这是我想要获得的场景

link1 /somepage.htm (no target="_blank") Above works
link2 http://www.somesiteexternal.com/ (add target="_blank") Above works
link3 http://www.example.com/somepage.htm (no target="_blank") this is where I'm having a problem.
Run Code Online (Sandbox Code Playgroud)

我想从目标处理中排除http://www.example.comhttp://example.com(这将是代码所在的域),但是如果链接是绝对链接或另一个外部站点那不是使用domain.com然后我想要那个.

试图在此添加排除/异常模式(<a href="http:[^"]+")给我带来麻烦.

谢谢!韩纸

php regex html-parsing

2
推荐指数
1
解决办法
995
查看次数

标签 统计

html-parsing ×1

php ×1

regex ×1