1

我必须从产品描述中删除外部 URL,这是一个示例:

佳能 NB-5L 摄像机移动电源: https ://www.esseshop.it/caricabatterie-universale-da-auto-rete-fotocamera-videocamera-p-4452.html

所以我必须用正则表达式删除以 http 开头并以 .html 或 .htm 结尾的每个子字符串

$str = "Powerbank for videocamera Canon NB-5L: https://www.esseshop.it/caricabatterie-universale-da-auto-rete-fotocamera-videocamera-p-4452.html";

preg_replace('(http)|(.html)|(.htm)', '$1', $str, 1);
4

2 回答 2

1

http:您可以使用此正则表达式将其与以或开头的任何 URL 匹配https:

https?:\S*

演示

PHP代码演示,

$str = "Powerbank for videocamera Canon NB-5L: https://www.esseshop.it/caricabatterie-universale-da-auto-rete-fotocamera-videocamera-p-4452.html";
echo preg_replace('/https?:\S*/', '', $str, 1);

印刷,

Powerbank for videocamera Canon NB-5L:
于 2019-02-18T19:16:43.350 回答
0

您的模式(http)|(.html)|(.htm)使用 3 个捕获组的交替,并且在代码中使用组 1 作为替换。注意转义点以匹配它的字面意思。

如果 url 应该以 htm 或 html 结尾,您可以使用:

\bhttps?:\S+\.html?\b

解释

  • \bhttps?:词边界\b以防止 http 成为更长匹配词的一部分
  • \S+匹配 1 次以上不是空白字符
  • \.html?\b匹配一个点,后跟htm一个可选的l. 最后一个词边界来防止html?成为更长匹配词的一部分

正则表达式演示| php演示

于 2019-02-18T19:19:17.620 回答