我想使用正则表达式将链接转换为页面锚点。我对正则表达式全新,我尝试过学习。
我使用了一个php字符串替换为带有#的根URL,但是需要使用preg_replace来更改/到 - 而不是当/是html标记的一部分时,例如</
或/>
$string = '<ul>
<li><a href="http://www.somedomain.com/something/somethingelse">Hello World</a></li>
<li><a href="http://www.somedomain.com/something/somethingelse">Hello World</a></li>
</ul>';
// Replace root url with #
$string = str_replace('http://www.somedomain.com/', '#' , $string);
// This replaces the / with hyphens, but I need it to not do this if is preceeded or followed by < or >
$string = preg_replace("/\//", "-", $string);
echo $string;
答案 0 :(得分:1)
种类:
preg_replace('/([^<]|^)\/([^>]|$)/', '$1-$2', $string);
但是整个任务看起来不像解决原始任务的可靠方法。