我想防止 UGC 网站上的超链接中出现空格。我已经编写了正则表达式,它工作得很好,除了它没有从链接和锚文本中删除尾随空格。
这是我的代码:
$text = '< a href = " http://www.examplesite.com/ "> Example site </a>';
$text = preg_replace('#(<(\s+)*a(\s+)*href(\s+)*=(\s+)*("|\')(\s+)*([^"]+)("|\')>(\s+)*([^<]+)(\s+)*</a>)#','<a href="$8">$11</a> ',$text);
输出
<a href="http://www.examplesite.com/ ">Example site </a>
URL 还包含空格,即http://www.examplesite.com/blog/带有 space.html 的页面