1

正の先読みを使用して、文字列内の 1 つの http(s):// を除くすべてを置き換える方法は?

たとえば、文字列に複数の http:// または https:// が含まれる場合があるというユーザー入力がhttp://http://wwww.site.com/あり、すべてのインスタンスを削除する必要がありますが、1 つだけです。正規表現パターンで肯定的な先読みを使用することについて読んだことがありますが、それを機能させることはできません。

私は次のことを試しました:

preg_replace( 'https?://(?=.*https?://)', '', $url );
4

2 に答える 2

4
$url = preg_replace("#(https?://)+#", "$1", $url);
于 2013-02-03T17:56:33.470 に答える
2

これはうまくいくかもしれません:

<?php

$text = 'http://https://http://http://https://abc.com';
$text = preg_replace('#(https?://)+https?://#iU', '', $text);
echo $text;
于 2013-02-03T17:47:12.163 に答える