正在尝试 preg_replace URL

Trying to preg_replace URL

我在这里看到很多关于此的问答,但 none 似乎正是我所需要的。我有一个很大的文本字段,其中可以包含多个 URL。原始 URL 可以是绝对的或相对的。我决定将绝对值设为相对值作为开始,这很有效。但是,我一辈子都想不出如何匹配“/anything-in-here/p/”的模式来替换。这是我的例子:

$original = 'Lorem ipsum dolor sit amet, <a href="http://example.com/url-written-text/p/12345">consectetur</a> adipiscing elit. Morbi iaculis nisl et enim <a href="
/more-url-text/p/54321">fermentum imperdiet.';

$newText = preg_replace('/http:\/\/example.com/', '', $original);

$newText = preg_replace('/\/[^*\/p\/]/', 'page?=', $newText);

我需要将文本字段中的 URL 替换为“/page?=12345”。任何人都可以帮助或指导我解决另一个问题吗?谢谢。

看看这个

$newText = preg_replace('/href=\"(\S+)\/p\//', 'href="/page?=', $original);

它搜索像这样的字符串:'href=".../p/',其中...包含任何不是白色的字符 space。